AI Momentum [YinYang]Overview:
AI Momentum is a kernel function based momentum Indicator. It uses Rational Quadratics to help smooth out the Moving Averages, this may give them a more accurate result. This Indicator has 2 main uses, first it displays ‘Zones’ that help you visualize the potential movement areas and when the price is out of bounds (Overvalued or Undervalued). Secondly it creates signals that display the momentum of the current trend.
The Zones are composed of the Highest Highs and Lowest lows turned into a Rational Quadratic over varying lengths. These create our Rational High and Low zones. There is however a second zone. The second zone is composed of the avg of the Inner High and Inner Low zones (yellow line) and the Rational Quadratic of the current Close. This helps to create a second zone that is within the High and Low bounds that may represent momentum changes within these zones. When the Rationalized Close crosses above the High and Low Zone Average it may signify a bullish momentum change and vice versa when it crosses below.
There are 3 different signals created to display momentum:
Bullish and Bearish Momentum. These signals display when there is current bullish or bearish momentum happening within the trend. When the momentum changes there will likely be a lull where there are neither Bullish or Bearish momentum signals. These signals may be useful to help visualize when the momentum has started and stopped for both the bulls and the bears. Bullish Momentum is calculated by checking if the Rational Quadratic Close > Rational Quadratic of the Highest OHLC4 smoothed over a VWMA. The Bearish Momentum is calculated by checking the opposite.
Overly Bullish and Bearish Momentum. These signals occur when the bar has Bullish or Bearish Momentum and also has an Rationalized RSI greater or less than a certain level. Bullish is >= 57 and Bearish is <= 43. There is also the option to ‘Factor Volume’ into these signals. This means, the Overly Bullish and Bearish Signals will only occur when the Rationalized Volume > VWMA Rationalized Volume as well as the previously mentioned factors above. This can be useful for removing ‘clutter’ as volume may dictate when these momentum changes will occur, but it can also remove some of the useful signals and you may miss the swing too if the volume just was low. Overly Bullish and Bearish Momentum may dictate when a momentum change will occur. Remember, they are OVERLY Bullish and Bearish, meaning there is a chance a correction may occur around these signals.
Bull and Bear Crosses. These signals occur when the Rationalized Close crosses the Gaussian Close that is 2 bars back. These signals may show when there is a strong change in momentum, but be careful as more often than not they’re predicting that the momentum may change in the opposite direction.
Tutorial:
As we can see in the example above, generally what happens is we get the regular Bullish or Bearish momentum, followed by the Rationalized Close crossing the Zone average and finally the Overly Bullish or Bearish signals. This is normally the order of operations but isn’t always how it happens as sometimes momentum changes don’t make it that far; also the Rationalized Close and Zone Average don’t follow any of the same math as the Signals which can result in differing appearances. The Bull and Bear Crosses are also quite sporadic in appearance and don’t generally follow any sort of order of operations. However, they may occur as a Predictor between Bullish and Bearish momentum, signifying the beginning of the momentum change.
The Bull and Bear crosses may be a Predictor of momentum change. They generally happen when there is no Bullish or Bearish momentum happening; and this helps to add strength to their prediction. When they occur during momentum (orange circle) there is a less likely chance that it will happen, and may instead signify the exact opposite; it may help predict a large spike in momentum in the direction of the Bullish or Bearish momentum. In the case of the orange circle, there is currently Bearish Momentum and therefore the Bull Cross may help predict a large momentum movement is about to occur in favor of the Bears.
We have disabled signals here to properly display and talk about the zones. As you can see, Rationalizing the Highest Highs and Lowest Lows over 2 different lengths creates inner and outer bounds that help to predict where parabolic movement and momentum may move to. Our Inner and Outer zones are great for seeing potential Support and Resistance locations.
The secondary zone, which can cross over and change from Green to Red is also a very important zone. Let's zoom in and talk about it specifically.
The Middle Zone Crosses may help deduce where parabolic movement and strong momentum changes may occur. Generally what may happen is when the cross occurs, you will see parabolic movement to the High / Low zones. This may be the Inner zone but can sometimes be the outer zone too. The hard part is sometimes it can be a Fakeout, like displayed with the Blue Circle. The Cross doesn’t mean it may move to the opposing side, sometimes it may just be predicting Parabolic movement in a general sense.
When we turn the Momentum Signals back on, we can see where the Fakeout occurred that it not only almost hit the Inner Low Zone but it also exhibited 2 Overly Bearish Signals. Remember, Overly bearish signals mean a momentum change in favor of the Bulls may occur soon and overly Bullish signals mean a momentum change in favor of the Bears may occur soon.
You may be wondering, well what does “may occur soon” mean and how do we tell?
The purpose of the momentum signals is not only to let you know when Momentum has occurred and when it is still prevalent. It also matters A LOT when it has STOPPED!
In this example above, we look at when the Overly Bullish and Bearish Momentum has STOPPED. As you can see, when the Overly Bullish or Bearish Momentum stopped may be a strong predictor of potential momentum change in the opposing direction.
We will conclude our Tutorial here, hopefully this Indicator has been helpful for showing you where momentum is occurring and help predict how far it may move. We have been dabbling with and are planning on releasing a Strategy based on this Indicator shortly.
Settings:
1. Momentum:
Show Signals: Sometimes it can be difficult to visualize the zones with signals enabled.
Factor Volume: Factor Volume only applies to Overly Bullish and Bearish Signals. It's when the Volume is > VWMA Volume over the Smoothing Length.
Zone Inside Length: The Zone Inside is the Inner zone of the High and Low. This is the length used to create it.
Zone Outside Length: The Zone Outside is the Outer zone of the High and Low. This is the length used to create it.
Smoothing length: Smoothing length is the length used to smooth out our Bullish and Bearish signals, along with our Overly Bullish and Overly Bearish Signals.
2. Kernel Settings:
Lookback Window: The number of bars used for the estimation. This is a sliding value that represents the most recent historical bars. Recommended range: 3-50.
Relative Weighting: Relative weighting of time frames. As this value approaches zero, the longer time frames will exert more influence on the estimation. As this value approaches infinity, the behavior of the Rational Quadratic Kernel will become identical to the Gaussian kernel. Recommended range: 0.25-25.
Start Regression at Bar: Bar index on which to start regression. The first bars of a chart are often highly volatile, and omission of these initial bars often leads to a better overall fit. Recommended range: 5-25.
If you have any questions, comments, ideas or concerns please don't hesitate to contact us.
HAPPY TRADING!
Cari dalam skrip untuk "high low"
YinYang RSI Volume Trend StrategyThere are many strategies that use RSI or Volume but very few that take advantage of how useful and important the two of them combined are. This strategy uses the Highs and Lows with Volume and RSI weighted calculations on top of them. You may be wondering how much of an impact Volume and RSI can have on the prices; the answer is a lot and we will discuss those with plenty of examples below, but first…
How does this strategy work?
It’s simple really, when the purchase source crosses above the inner low band (red) it creates a Buy or Long. This long has a Trailing Stop Loss band (the outer low band that's also red) that can be adjusted in the Settings. The Stop Loss is based on a % of the inner low band’s price and by default it is 0.1% lower than the inner band’s price. This Stop Loss is not only a stop loss but it can also act as a Purchase Available location.
You can get back into a trade after a stop loss / take profit has been hit when your Reset Purchase Availability After condition has been met. This can either be at Stop Loss, Entry or None.
It is advised to allow it to reset in case the stop loss was a fake out but the call was right. Sometimes it may trigger stop loss multiple times in a row, but you don’t lose much on stop loss and you gain lots when the call is right.
The Take Profit location is the basis line (white). Take Profit occurs when the Exit Source (close, open, high, low or other) crosses the basis line and then on a different bar the Exit Source crosses back over the basis line. For example, if it was a Long and the bar’s Exit Source closed above the basis line, and then 2 bars later its Exit Source closed below the basis line, Take Profit would occur. You can disable Take Profit in Settings, but it is very useful as many times the price will cross the Basis and then correct back rather than making it all the way to the opposing zone.
Longs:
If for instance your Long doesn’t need to Take Profit and instead reaches the top zone, it will close the position when it crosses above the inner top line (green).
Please note you can change the Exit Source too which is what source (close, open, high, low) it uses to end the trades.
The Shorts work the same way as the Long but just opposite, they start when the purchase source crosses under the inner upper band (green).
Shorts:
Shorts take profit when it crosses under the basis line and then crosses back.
Shorts will Stop loss when their outer upper band (green) is crossed with the Exit Source.
Short trades are completed and closed when its Exit Source crosses under the inner low red band.
So, now that you understand how the strategy works, let’s discuss why this strategy works and how it is profitable.
First we will discuss Volume as we deem it plays a much bigger role overall and in our strategy:
As I’m sure many of you know, Volume plays a huge factor in how much something moves, but it also plays a role in the strength of the movement. For instance, let’s look at two scenarios:
Bitcoin’s price goes up $1000 in 1 Day but the Volume was only 10 million
Bitcoin’s price goes up $200 in 1 Day but the Volume was 40 million
If you were to only look at the price, you’d say #1 was more important because the price moved x5 the amount as #2, but once you factor in the volume, you know this is not true. The reason why Volume plays such a huge role in Price movement is because it shows there is a large Limit Order battle going on. It means that both Bears and Bulls believe that price is a good time to Buy and Sell. This creates a strong Support and Resistance price point in this location. If we look at scenario #2, when there is high volume, especially if it is drastically larger than the average volume Bitcoin was displaying recently, what can we decipher from this? Well, the biggest take away is that the Bull’s won the battle, and that likely when that happens we will see bullish movement continuing to happen as most of the Bears Limit Orders have been fulfilled. Whereas with #2, when large price movement happens and Bitcoin goes up $1000 with low volume what can we deduce? The main takeaway is that Bull’s pressured the price up with Market Orders where they purchased the best available price, also what this means is there were very few people who were wanting to sell. This generally dictates that Whale Limit orders for Sells/Shorts are much higher up and theres room for movement, but it also means there is likely a whale that is ready to dump and crash it back down.
You may be wondering, what did this example have to do with YinYang RSI Volume Trend Strategy? Well the reason we’ve discussed this is because we use Volume multiple times to apply multiplications in our calculations to add large weight to the price when there is lots of volume (this is applied both positively and negatively). For instance, if the price drops a little and there is high volume, our strategy will move its bounds MUCH lower than the price actually dropped, and if there was low volume but the price dropped A LOT, our strategy will only move its bounds a little. We believe this reflects higher levels of price accuracy than just price alone based on the examples described above.
Don’t believe us?
Here is with Volume NOT factored in (VWMA = SMA and we remove our Volume Filter calculation):
Which produced -$2880 Profit
Here is with our Volume factored in:
Which produced $553,000 (55.3%)
As you can see, we wen’t from $-2800 profit with volume not factored to $553,000 with volume factored. That's quite a big difference! (Please note previous success does not predict future success we are simply displaying the $ amounts as example).
Now how about RSI and why does it matter in this strategy?
As I’m sure most of you are aware, RSI is one of the leading indicators used in trading. For this reason we figured it would only make sense to incorporate it into our calculations. We fiddled with RSI for quite awhile and sometimes what logically seems to be the right way to use it isn’t. Now, because of this, our RSI calculation is a little odd, but basically what we’re doing is we calculate the RSI, then turn it into a percentage (between 0-1) that can easily be multiplied to the price point we need. The price point we use is the difference between our high purchase zone and our low purchase zone. This allows us to see how much price movement there is between zones. We multiply our zone size with our RSI multiplication and we get the amount we will add +/- to our basis line (white line). This officially creates the NEW high and low purchase zones that we are actually using and displaying in our trades.
If you found that confusing, here are some examples to why it is an important calculation for this strategy:
Before RSI factored in:
Which produced 27.8% Profit
After RSI factored in:
Which produced 553% Profit
As you can see, the RSI makes not only the purchase zones more accurate, but it also greatly increases the profit the strategy is able to make. It also helps ensure an relatively linear profit slope so you know it is reliable with its trades.
This strategy can work on pretty much anything, but you should tweak the values a bit for each pair you are trading it with for best results.
We hope you can find some use out of this simple but effective strategy, if you have any questions, comments or concerns please let us know.
HAPPY TRADING!
Autoregressive CloudHello,
I am releasing this indicator called the Autoregressive Cloud Indicator.
What it does:
The indicator performs an autoregression analysis on 3 price variables of a ticker, those being the High, the Low and the Close. It uses a 1-lag system and looks back at the previous close, high and low’s effect on the proceeding high, low and close. It then plots out the anticipated range for the ticker based on the autoregression analysis, as well as displays the lag-correlation (autocorrelation) in a table.
What is Autoregression analysis?
Autoregression is a modelling technique used to describe a time series based on its own past values. It assumes that the current value of a variable is a linear combination of its previous values and a random error term.
And what is autocorrelation?
Autocorrelation measures the correlation between a time series and its lagged values. It quantifies the degree to which the current value of a series is related to its past values at different lags, indicating any patterns or dependencies in the data over time. Autoregression and autocorrelation are closely related concepts used to analyze and model time series data.
So how does it work?
The indicator calculates autoregressive values for the close, high, and low prices of a security based on the specified lookback length (which is defaulted to 50). It then plots three sets of clouds representing the smoothed autoregressive values for each price component (done using the SMA function). The transparency of the clouds can be adjusted using the "Transparency" input. Additionally, the code includes a correlation table that displays the correlation coefficients between the lagged values of the close, high, and low prices. The table's position can be customized using the "Position" input.
The indicator defaults to the chart timeframe; however, you can manually adjust the indicator to display the range for whatever timeframe you would like. You can view the 30 minute, 15 or even hourly range on the 1 minute or 5 minute chart if you want.
The indicator will show the anticipated “true trading range” of the stock based on the autoregression and autocorrelation of all 3 variables:
Above is SPY on the 5 minute timeframe with 15 minute levels overlayed. Here, you can see the anticipated trading range for that 15 minute time period.
Using the Correlation Table:
The correlation table displays the Pearson Coefficient for all 3 autoregressions.
A positive correlation: A positive autocorrelation indicates a positive relationship between past and current values of a time series variable. It suggests that when the variable has a high value at a certain time, it is more likely to have a high value in the future, and when it has a low value, it is more likely to have a low value in the future. This positive autocorrelation can imply persistence or trend in the data, indicating that past values can provide useful information for predicting future values. The rule of thumb is anything over 0.5 is considered significant.
A positive correlation among all 3 variables also indicates an uptrend. If you see a strong positive (i.e. the values are all greater than 0.8), it indicates an incredibly decisive and strong uptrend.
A negative correlation: A negative autocorrelation indicates an inverse relationship between past and current values of a time series variable. It suggests that when the variable has a high value at a certain time, it is more likely to have a low value in the future, and vice versa. This negative autocorrelation can imply mean reversion or oscillatory behavior in the data, where extreme values tend to be followed by values closer to the average. It indicates that past values can provide useful information for predicting future values by anticipating a reversal in the direction of the variable. The rule of thumb is anything below or equal to -0.5 is considered significant.
A negative correlation among all 3 variables also indicates a downtrend. If you see a strong negative (i.e. the values are all less than or equal to -0.8), it indicates an incredibly decisive and strong downtrend.
Uses of the Indicator:
The indicator can be used for the following functions:
1. Day trading and scalping within an expected range;
2. Determining the strength or weakness of an uptrend or downtrend on various timeframes;
3. Determining the relationship between previous values and past performance and its effect on future performance;
4. Can alert to changes in trend direction in advance (you may see high, low or close turn negative before others, signifying that weakness is beginning to materialize in an uptrend, or inverse in a downtrend (value changes positive)).
Customizability:
SMA: The autoregression data is smoothed by a 3 period lookback. You can change this if you want, but in order for the indicator to present the true trading range, it is recommended to leave it at <= 3.
Lookback Length: This is the length of the lookback period for the autoregression and autocorrelation functions.
Transparency settings: You can adjust the transparency of the clouds manually.
Timeframe: You can adjust the timeframe, as explained above, to display the timeframe of interest. When you adjust the timeframe, the data will all reflect that timeframe and not necessarily the current TF you have open (i.e. you select 30 minutes while viewing it on the 5 minute, it will show the data for the 30 minute TF period).
Video Tutorial:
I have prepared a video outlining the indicator and also explaining the theory of autoregression/correlation. You can find it below:
Let me know any comments, questions or suggestions below.
Thank you for taking the time to read/watch and check out this indicator.
Safe trades everyone!
Adaptive Candlestick Pattern Recognition System█ INTRODUCTION
Nearly three years in the making, intermittently worked on in the few spare hours of weekends and time off, this is a passion project I undertook to flesh out my skills as a computer programmer. This script currently recognizes 85 different candlestick patterns ranging from one to five candles in length. It also performs statistical analysis on those patterns to determine prior performance and changes the coloration of those patterns based on that performance. In searching TradingView's script library for scripts similar to this one, I had found a handful. However, when I reviewed the ones which were open source, I did not see many that truly captured the power of PineScrypt or leveraged the way it works to create efficient and reliable code; one of the main driving factors for releasing this 5,000+ line behemoth open sourced.
Please take the time to review this description and source code to utilize this script to its fullest potential.
█ CONCEPTS
This script covers the following topics: Candlestick Theory, Trend Direction, Higher Timeframes, Price Analysis, Statistic Analysis, and Code Design.
Candlestick Theory - This script focuses solely on the concept of Candlestick Theory: arrangements of candlesticks may form certain patterns that can potentially influence the future price action of assets which experience those patterns. A full list of patterns (grouped by pattern length) will be in its own section of this description. This script contains two modes of operation for identifying candlestick patterns, 'CLASSIC' and 'BREAKOUT'.
CLASSIC: In this mode, candlestick patterns will be identified whenever they appear. The user has a wide variety of inputs to manipulate that can change how certain patterns are identified and even enable alerts to notify themselves when these patterns appear. Each pattern selected to appear will have their Profit or Loss (P/L) calculated starting from the first candle open succeeding the pattern to a candle close specified some number of candles ahead. These P/L calculations are then collected for each pattern, and split among partitions of prior price action of the asset the script is currently applied to (more on that in Higher Timeframes ).
BREAKOUT: In this mode, P/L calculations are held off until a breakout direction has been confirmed. The user may specify the number of candles ahead of a pattern's appearance (from one to five) that a pattern has to confirm a breakout in either an upward or downward direction. A breakout is constituted when there is a candle following the appearance of the pattern that closes above/at the highest high of the pattern, or below/at its lowest low. Only then will percent return calculations be performed for the pattern that's been identified, and these percent returns are broken up not only by the partition they had appeared in but also by the breakout direction itself. Patterns which do not breakout in either direction will be ignored, along with having their labels deleted.
In both of these modes, patterns may be overridden. Overrides occur when a smaller pattern has been detected and ends up becoming one (or more) of the candles of a larger pattern. A key example of this would be the Bearish Engulfing and the Three Outside Down patterns. A Three Outside Down necessitates a Bearish Engulfing as the first two candles in it, while the third candle closes lower. When a pattern is overridden, the return for that pattern will no longer be tracked. Overrides will not occur if the tail end of a larger pattern occurs at the beginning of a smaller pattern (Ex: a Bullish Engulfing occurs on the third candle of a Three Outside Down and the candle immediately following that pattern, the Three Outside Down pattern will not be overridden).
Important Functionality Note: These patterns are only searched for at the most recently closed candle, not on the currently closing candle, which creates an offset of one for this script's execution. (SEE LIMITATIONS)
Trend Direction - Many of the patterns require a trend direction prior to their appearance. Noting TradingView's own publication of candlestick patterns, I utilize a similar method for determining trend direction. Moving Averages are used to determine which trend is currently taking place for candlestick patterns to be sought out. The user has access to two Moving Averages which they may individually modify the following for each: Moving Average type (list of 9), their length, width, source values, and all variables associated with two special Moving Averages (Least Squares and Arnaud Legoux).
There are 3 settings for these Moving Averages, the first two switch between the two Moving Averages, and the third uses both. When using individual Moving Averages, the user may select a 'price point' to compare against the Moving Average (default is close). This price point is compared to the Moving Average at the candles prior to the appearance of candle patterns. Meaning: The close compared to the Moving Average two candles behind determines the trend direction used for Candlestick Analysis of one candle patterns; three candles behind for two candle patterns and so on. If the selected price point is above the Moving Average, then the current trend is an 'uptrend', 'downtrend' otherwise.
The third setting using both Moving Averages will compare the lengths of each, and trend direction is determined by the shorter Moving Average compared to the longer one. If the shorter Moving Average is above the longer, then the current trend is an 'uptrend', 'downtrend' otherwise. If the lengths of the Moving Averages are the same, or both Moving Averages are Symmetrical, then MA1 will be used by default. (SEE LIMITATIONS)
Higher Timeframes - This script employs the use of Higher Timeframes with a few request.security calls. The purpose of these calls is strictly for the partitioning of an asset's chart, splitting the returns of patterns into three separate groups. The four inputs in control of this partitioning split the chart based on: A given resolution to grab values from, the length of time in that resolution, and 'Upper' and 'Lower Limits' which split the trading range provided by that length of time in that resolution that forms three separate groups. The default values for these four inputs will partition the current chart by the yearly high-low range where: the 'Upper' partition is the top 20% of that trading range, the 'Middle' partition is 80% to 33% of the trading range, and the 'Lower' partition covers the trading range within 33% of the yearly low.
Patterns which are identified by this script will have their returns grouped together based on which partition they had appeared in. For example, a Bullish Engulfing which occurs within a third of the yearly low will have its return placed separately from a Bullish Engulfing that occurred within 20% of the yearly high. The idea is that certain patterns may perform better or worse depending on when they had occurred during an asset's trading range.
Price Analysis - Price Analysis is a major part of this script's functionality as it can fundamentally change how patterns are shown to the user. The settings related to Price Analysis include setting the number of candles ahead of a pattern's appearance to determine the return of that pattern. In 'BREAKOUT' mode, an additional setting allows the user to specify where the P/L calculation will begin for a pattern that had appeared and confirmed. (SEE LIMITATIONS)
The calculation for percent returns of patterns is illustrated with the following pseudo-code (CLASSIC mode, this is a simplified version of the actual code):
type patternObj
int ID
int partition
type returnsArray
float returns
// No pattern found = na returned
patternObj TEST_VAL = f_FindPattern()
priorTestVal = TEST_VAL
if not na( priorTestVal )
pnlMatrixRow = priorTestVal.ID
pnlMatrixCol = priorTestVal.partition
matrixReturn = matrix.get(PERCENT_RETURNS, pnlMatrixRow, pnlMatrixCol)
percentReturn = ( (close - open ) / open ) * 100%
array.push(matrixReturn.returns, percentReturn)
Statistic Analysis - This script uses Pine's built-in array functions to conduct the Statistic Analysis for patterns. When a pattern is found and its P/L calculation is complete, its return is added to a 'Return Array' User-Defined-Type that contains numerous fields which retain information on a pattern's prior performance. The actual UDT is as follows:
type returnArray
float returns = na
int size = 0
float avg = 0
float median = 0
float stdDev = 0
int polarities = na
All values within this UDT will be updated when a return is added to it (some based on user input). The array.avg , array.median and array.stdev will be ran and saved into their respective fields after a return is placed in the 'returns' array. The 'polarities' integer array is what will be changed based on user input. The user specifies two different percentages that declare 'Positive' and 'Negative' returns for patterns. When a pattern returns above, below, or in between these two values, different indices of this array will be incremented to reflect the kind of return that pattern had just experienced.
These values (plus the full name, partition the pattern occurred in, and a 95% confidence interval of expected returns) will be displayed to the user on the tooltip of the labels that identify patterns. Simply scroll over the pattern label to view each of these values.
Code Design - Overall this script is as much of an art piece as it is functional. Its design features numerous depictions of ASCII Art that illustrate what is being attempted by the functions that identify patterns, and an incalculable amount of time was spent rewriting portions of code to improve its efficiency. Admittedly, this final version is nearly 1,000 lines shorter than a previous version (one which took nearly 30 seconds after compilation to run, and didn't do nearly half of what this version does). The use of UDTs, especially the 'patternObj' one crafted and redesigned from the Hikkake Hunter 2.0 I published last month, played a significant role in making this script run efficiently. There is a slight rigidity in some of this code mainly around pattern IDs which are responsible for displaying the abbreviation for patterns (as well as the full names under the tooltips, and the matrix row position for holding returns), as each is hard-coded to correspond to that pattern.
However, one thing I would like to mention is the extensive use of global variables for pattern detection. Many scripts I had looked over for ideas on how to identify candlestick patterns had the same idea; break the pattern into a set of logical 'true/false' statements derived from historically referencing candle OHLC values. Some scripts which identified upwards of 20 to 30 patterns would reference Pine's built-in OHLC values for each pattern individually, potentially requesting information from TradingView's servers numerous times that could easily be saved into a variable for re-use and only requested once per candle (what this script does).
█ FEATURES
This script features a massive amount of switches, options, floating point values, detection settings, and methods for identifying/tailoring pattern appearances. All modifiable inputs for patterns are grouped together based on the number of candles they contain. Other inputs (like those for statistics settings and coloration) are grouped separately and presented in a way I believe makes the most sense.
Not mentioned above is the coloration settings. One of the aims of this script was to make patterns visually signify their behavior to the user when they are identified. Each pattern has its own collection of returns which are analyzed and compared to the inputs of the user. The user may choose the colors for bullish, neutral, and bearish patterns. They may also choose the minimum number of patterns needed to occur before assigning a color to that pattern based on its behavior; a color for patterns that have not met this minimum number of occurrences yet, and a color for patterns that are still processing in BREAKOUT mode.
There are also an additional three settings which alter the color scheme for patterns: Statistic Point-of-Reference, Adaptive coloring, and Hard Limiting. The Statistic Point-of-Reference decides which value (average or median) will be compared against the 'Negative' and 'Positive Return Tolerance'(s) to guide the coloration of the patterns (or for Adaptive Coloring, the generation of a color gradient).
Adaptive Coloring will have this script produce a gradient that patterns will be colored along. The more bullish or bearish a pattern is, the further along the gradient those patterns will be colored starting from the 'Neutral' color (hard lined at the value of 0%: values above this will be colored bullish, bearish otherwise). When Adaptive Coloring is enabled, this script will request the highest and lowest values (these being the Statistic Point-of-Reference) from the matrix containing all returns and rewrite global variables tied to the negative and positive return tolerances. This means that all patterns identified will be compared with each other to determine bullish/bearishness in Adaptive Coloring.
Hard Limiting will prevent these global variables from being rewritten, so patterns whose Statistic Point-of-Reference exceed the return tolerances will be fully colored the bullish or bearish colors instead of a generated gradient color. (SEE LIMITATIONS)
Apart from the Candle Detection Modes (CLASSIC and BREAKOUT), there's an additional two inputs which modify how this script behaves grouped under a "MASTER DETECTION SETTINGS" tab. These two "Pattern Detection Settings" are 'SWITCHBOARD' and 'TARGET MODE'.
SWITCHBOARD: Every single pattern has a switch that is associated with its detection. When a switch is enabled, the code which searches for that pattern will be run. With the Pattern Detection Setting set to this, all patterns that have their switches enabled will be sought out and shown.
TARGET MODE: There is an additional setting which operates on top of 'SWITCHBOARD' that singles out an individual pattern the user specifies through a drop down list. The names of every pattern recognized by this script will be present along with an identifier that shows the number of candles in that pattern (Ex: " (# candles)"). All patterns enabled in the switchboard will still have their returns measured, but only the pattern selected from the "Target Pattern" list will be shown. (SEE LIMITATIONS)
The vast majority of other features are held in the one, two, and three candle pattern sections.
For one-candle patterns, there are:
3 — Settings related to defining 'Tall' candles:
The number of candles to sample for previous candle-size averages.
The type of comparison done for 'Tall' Candles: Settings are 'RANGE' and 'BODY'.
The 'Tolerance' for tall candles, specifying what percent of the 'average' size candles must exceed to be considered 'Tall'.
When 'Tall Candle Setting' is set to RANGE, the high-low ranges are what the current candle range will be compared against to determine if a candle is 'Tall'. Otherwise the candle bodies (absolute value of the close - open) will be compared instead. (SEE LIMITATIONS)
Hammer Tolerance - How large a 'discarded wick' may be before it disqualifies a candle from being a 'Hammer'.
Discarded wicks are compared to the size of the Hammer's candle body and are dependent upon the body's center position. Hammer bodies closer to the high of the candle will have the upper wick used as its 'discarded wick', otherwise the lower wick is used.
9 — Doji Settings, some pulled from an old Doji Hunter I made a while back:
Doji Tolerance - How large the body of a candle may be compared to the range to be considered a 'Doji'.
Ignore N/S Dojis - Turns off Trend Direction for non-special Dojis.
GS/DF Doji Settings - 2 Inputs that enable and specify how large wicks that typically disqualify Dojis from being 'Gravestone' or 'Dragonfly' Dojis may be.
4 Settings related to 'Long Wick Doji' candles detailed below.
A Tolerance for 'Rickshaw Man' Dojis specifying how close the center of the body must be to the range to be valid.
The 4 settings the user may modify for 'Long Legged' Dojis are: A Sample Base for determining the previous average of wicks, a Sample Length specifying how far back to look for these averages, a Behavior Setting to define how 'Long Legged' Dojis are recognized, and a tolerance to specify how large in comparison to the prior wicks a Doji's wicks must be to be considered 'Long Legged'.
The 'Sample Base' list has two settings:
RANGE: The wicks of prior candles are compared to their candle ranges and the 'wick averages' will be what the average percent of ranges were in the sample.
WICKS: The size of the wicks themselves are averaged and returned for comparing against the current wicks of a Doji.
The 'Behavior' list has three settings:
ONE: Only one wick length needs to exceed the average by the tolerance for a Doji to be considered 'Long Legged'.
BOTH: Both wick lengths need to exceed the average of the tolerance of their respective wicks (upper wicks are compared to upper wicks, lower wicks compared to lower) to be considered 'Long Legged'.
AVG: Both wicks and the averages of the previous wicks are added together, divided by two, and compared. If the 'average' of the current wicks exceeds this combined average of prior wicks by the tolerance, then this would constitute a valid 'Long Legged' Doji. (For Dojis in general - SEE LIMITATIONS)
The final input is one related to candle patterns which require a Marubozu candle in them. The two settings for this input are 'INCLUSIVE' and 'EXCLUSIVE'. If INCLUSIVE is selected, any opening/closing variant of Marubozu candles will be allowed in the patterns that require them.
For two-candle patterns, there are:
2 — Settings which define 'Engulfing' parameters:
Engulfing Setting - Two options, RANGE or BODY which sets up how one candle may 'engulf' the previous.
Inclusive Engulfing - Boolean which enables if 'engulfing' candles can be equal to the values needed to 'engulf' the prior candle.
For the 'Engulfing Setting':
RANGE: If the second candle's high-low range completely covers the high-low range of the prior candle, this is recognized as 'engulfing'.
BODY: If the second candle's open-close completely covers the open-close of the previous candle, this is recognized as 'engulfing'. (SEE LIMITATIONS)
4 — Booleans specifying different settings for a few patterns:
One which allows for 'opens within body' patterns to let the second candle's open/close values match the prior candles' open/close.
One which forces 'Kicking' patterns to have a gap if the Marubozu setting is set to 'INCLUSIVE'.
And Two which dictate if the individual candles in 'Stomach' patterns need to be 'Tall'.
8 — Floating point values which affect 11 different patterns:
One which determines the distance the close of the first candle in a 'Hammer Inverted' pattern must be to the low to be considered valid.
One which affects how close the opens/closes need to be for all 'Lines' patterns (Bull/Bear Meeting/Separating Lines).
One that allows some leeway with the 'Matching Low' pattern (gives a small range the second candle close may be within instead of needing to match the previous close).
Three tolerances for On Neck/In Neck patterns (2 and 1 respectively).
A tolerance for the Thrusting pattern which give a range the close the second candle may be between the midpoint and close of the first to be considered 'valid'.
A tolerance for the two Tweezers patterns that specifies how close the highs and lows of the patterns need to be to each other to be 'valid'.
The first On Neck tolerance specifies how large the lower wick of the first candle may be (as a % of that candle's range) before the pattern is invalidated. The second tolerance specifies how far up the lower wick to the close the second candle's close may be for this pattern. The third tolerance for the In Neck pattern determines how far into the body of the first candle the second may close to be 'valid'.
For the remaining patterns (3, 4, and 5 candles), there are:
3 — Settings for the Deliberation pattern:
A boolean which forces the open of the third candle to gap above the close of the second.
A tolerance which changes the proximity of the third candle's open to the second candle's close in this pattern.
A tolerance that sets the maximum size the third candle may be compared to the average of the first two candles.
One boolean value for the Two Crows patterns (standard and Upside Gapping) that forces the first two candles in the patterns to completely gap if disabled (candle 1's close < candle 2's low).
10 — Floating point values for the remaining patterns:
One tolerance for defining how much the size of each candle in the Identical Black Crows pattern may deviate from the average of themselves to be considered valid.
One tolerance for setting how close the opens/closes of certain three candle patterns may be to each other's opens/closes.*
Three floating point values that affect the Three Stars in the South pattern.
One tolerance for the Side-by-Side patterns - looks at the second and third candle closes.
One tolerance for the Stick Sandwich pattern - looks at the first and third candle closes.
A floating value that sizes the Concealing Baby Swallow pattern's 3rd candle wick.
Two values for the Ladder Bottom pattern which define a range that the third candle's wick size may be.
* This affects the Three Black Crows (non-identical) and Three White Soldiers patterns, each require the opens and closes of every candle to be near each other.
The first tolerance of the Three Stars in the South pattern affects the first candle body's center position, and defines where it must be above to be considered valid. The second tolerance specifies how close the second candle must be to this same position, as well as the deviation the ratio the candle body to its range may be in comparison to the first candle. The third restricts how large the second candle range may be in comparison to the first (prevents this pattern from being recognized if the second candle is similar to the first but larger).
The last two floating point values define upper and lower limits to the wick size of a Ladder Bottom's fourth candle to be considered valid.
█ HOW TO USE
While there are many moving parts to this script, I attempted to set the default values with what I believed may help identify the most patterns within reasonable definitions. When this script is applied to a chart, the Candle Detection Mode (along with the BREAKOUT settings) and all candle switches must be confirmed before patterns are displayed. All switches are on by default, so this gives the user an opportunity to pick which patterns to identify first before playing around in the settings.
All of the settings/inputs described above are meant for experimentation. I encourage the user to tweak these values at will to find which set ups work best for whichever charts they decide to apply these patterns to.
Refer to the patterns themselves during experimentation. The statistic information provided on the tooltips of the patterns are meant to help guide input decisions. The breadth of candlestick theory is deep, and this was an attempt at capturing what I could in its sea of information.
█ LIMITATIONS
DISCLAIMER: While it may seem a bit paradoxical that this script aims to use past performance to potentially measure future results, past performance is not indicative of future results . Markets are highly adaptive and often unpredictable. This script is meant as an informational tool to show how patterns may behave. There is no guarantee that confidence intervals (or any other metric measured with this script) are accurate to the performance of patterns; caution must be exercised with all patterns identified regardless of how much information regarding prior performance is available.
Candlestick Theory - In the name, Candlestick Theory is a theory , and all theories come with their own limits. Some patterns identified by this script may be completely useless/unprofitable/unpredictable regardless of whatever combination of settings are used to identify them. However, if I truly believed this theory had no merit, this script would not exist. It is important to understand that this is a tool meant to be utilized with an array of others to procure positive (or negative, looking at you, short sellers ) results when navigating the complex world of finance.
To address the functionality note however, this script has an offset of 1 by default. Patterns will not be identified on the currently closing candle, only on the candle which has most recently closed. Attempting to have this script do both (offset by one or identify on close) lead to more trouble than it was worth. I personally just want users to be aware that patterns will not be identified immediately when they appear.
Trend Direction - Moving Averages - There is a small quirk with how MA settings will be adjusted if the user inputs two moving averages of the same length when the "MA Setting" is set to 'BOTH'. If Moving Averages have the same length, this script will default to only using MA 1 regardless of if the types of Moving Averages are different . I will experiment in the future to alleviate/reduce this restriction.
Price Analysis - BREAKOUT mode - With how identifying patterns with a look-ahead confirmation works, the percent returns for patterns that break out in either direction will be calculated on the same candle regardless of if P/L Offset is set to 'FROM CONFIRMATION' or 'FROM APPEARANCE'. This same issue is present in the Hikkake Hunter script mentioned earlier. This does not mean the P/L calculations are incorrect , the offset for the calculation is set by the number of candles required to confirm the pattern if 'FROM APPEARANCE' is selected. It just means that these two different P/L calculations will complete at the same time independent of the setting that's been selected.
Adaptive Coloring/Hard Limiting - Hard Limiting is only used with Adaptive Coloring and has no effect outside of it. If Hard Limiting is used, it is recommended to increase the 'Positive' and 'Negative' return tolerance values as a pattern's bullish/bearishness may be disproportionately represented with the gradient generated under a hard limit.
TARGET MODE - This mode will break rules regarding patterns that are overridden on purpose. If a pattern selected in TARGET mode would have otherwise been absorbed by a larger pattern, it will have that pattern's percent return calculated; potentially leading to duplicate returns being included in the matrix of all returns recognized by this script.
'Tall' Candle Setting - This is a wide-reaching setting, as approximately 30 different patterns or so rely on defining 'Tall' candles. Changing how 'Tall' candles are defined whether by the tolerance value those candles need to exceed or by the values of the candle used for the baseline comparison (RANGE/BODY) can wildly affect how this script functions under certain conditions. Refer to the tooltip of these settings for more information on which specific patterns are affected by this.
Doji Settings - There are roughly 10 or so two to three candle patterns which have Dojis as a part of them. If all Dojis are disabled, it will prevent some of these larger patterns from being recognized. This is a dependency issue that I may address in the future.
'Engulfing' Setting - Functionally, the two 'Engulfing' settings are quite different. Because of this, the 'RANGE' setting may cause certain patterns that would otherwise be valid under textbook and online references/definitions to not be recognized as such (like the Upside Gap Two Crows or Three Outside down).
█ PATTERN LIST
This script recognizes 85 patterns upon initial release. I am open to adding additional patterns to it in the future and any comments/suggestions are appreciated. It recognizes:
15 — 1 Candle Patterns
4 Hammer type patterns: Regular Hammer, Takuri Line, Shooting Star, and Hanging Man
9 Doji Candles: Regular Dojis, Northern/Southern Dojis, Gravestone/Dragonfly Dojis, Gapping Up/Down Dojis, and Long-Legged/Rickshaw Man Dojis
White/Black Long Days
32 — 2 Candle Patterns
4 Engulfing type patterns: Bullish/Bearish Engulfing and Last Engulfing Top/Bottom
Dark Cloud Cover
Bullish/Bearish Doji Star patterns
Hammer Inverted
Bullish/Bearish Haramis + Cross variants
Homing Pigeon
Bullish/Bearish Kicking
4 Lines type patterns: Bullish/Bearish Meeting/Separating Lines
Matching Low
On/In Neck patterns
Piercing pattern
Shooting Star (2 Lines)
Above/Below Stomach patterns
Thrusting
Tweezers Top/Bottom patterns
Two Black Gapping
Rising/Falling Window patterns
29 — 3 Candle Patterns
Bullish/Bearish Abandoned Baby patterns
Advance Block
Collapsing Doji Star
Deliberation
Upside/Downside Gap Three Methods patterns
Three Inside/Outside Up/Down patterns (4 total)
Bullish/Bearish Side-by-Side patterns
Morning/Evening Star patterns + Doji variants
Stick Sandwich
Downside/Upside Tasuki Gap patterns
Three Black Crows + Identical variation
Three White Soldiers
Three Stars in the South
Bullish/Bearish Tri-Star patterns
Two Crows + Upside Gap variant
Unique Three River Bottom
3 — 4 Candle Patterns
Concealing Baby Swallow
Bullish/Bearish Three Line Strike patterns
6 — 5 Candle Patterns
Bullish/Bearish Breakaway patterns
Ladder Bottom
Mat Hold
Rising/Falling Three Methods patterns
█ WORKS CITED
Because of the amount of time needed to complete this script, I am unable to provide exact dates for when some of these references were used. I will also not provide every single reference, as citing a reference for each individual pattern and the place it was reviewed would lead to a bibliography larger than this script and its description combined. There were five major resources I used when building this script, one book, two websites (for various different reasons including patterns, moving averages, and various other articles of information), various scripts from TradingView's public library (including TradingView's own source code for *all* candle patterns ), and PineScrypt's reference manual.
Bulkowski, Thomas N. Encyclopedia of Candlestick Patterns . Hoboken, New Jersey: John Wiley & Sons Inc., 2008. E-book (google books).
Various. Numerous webpages. CandleScanner . 2023. online. Accessed 2020 - 2023.
Various. Numerous webpages. Investopedia . 2023. online. Accessed 2020 - 2023.
█ AKNOWLEDGEMENTS
I want to take the time here to thank all of my friends and family, both online and in real life, for the support they've given me over the last few years in this endeavor. My pets who tried their hardest to keep me from completing it. And work for the grit to continue pushing through until this script's completion.
This belongs to me just as much as it does anyone else. Whether you are an institutional trader, gold bug hedging against the dollar, retail ape who got in on a squeeze, or just parents trying to grow their retirement/save for the kids. This belongs to everyone.
Private Beta for new features to be tested can be found here .
Vires In Numeris
Rangemeter [theEccentricTrader]█ OVERVIEW
This indicator simply displays candle and peak to trough ranges in points or pips, depending on the symbol type, in a table, which can be repositioned and resized at the user's discretion.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a close price equal to or above the price it opened.
• A red candle is one that closes with a close price that is lower than the price it opened.
Open Green and Red Candles
• An open green candle is one that has a close price equal to or above the price it opened, but has not yet closed to confirm the condition.
• An open red candle is one that has a close price lower than the price it opened, but has not yet closed to confirm the condition.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Historic Peaks and Troughs
The current, or most recent, peak and trough occurrences are referred to as occurrence zero. Previous peak and trough occurrences are referred to as historic and ordered numerically from right to left, with the most recent historic peak and trough occurrences being occurrence one.
Range
The range is simply the difference between the current peak and current trough prices, generally expressed in terms of points or pips.
Open Range
An open range is here defined as one that is forming but has not yet completed. For example, a swing low that has an open green candle proceeding a red candle or series of red candles. Or a swing high that has an open red candle proceeding a green candle or series of green candles.
The table will only display the open range under the aforementioned circumstances, otherwise it will display the current, or previous, range.
█ FEATURES
Inputs
• Show Candle Ranges
• Show Largest and Smallest Candle Ranges
• Average Candle Range Lookback
• Show Ranges
• Show Largest and Smallest Ranges
• Average Range Lookback
• Position
• Text Size
█ HOW TO USE
The indicator can be used for strategy filtering and development, gauging current market conditions versus historic and helping to make more informed discretionary trading decisions. It can also be used like my Wavemeter indicator to objectively set the angle and projection ratio for my Fan Projections and Parallel Projections indicators.
█ LIMITATIONS
Some higher timeframe candles on tickers with larger lookbacks such as the DXY , do not actually contain all the open, high, low and close (OHLC) data at the beginning of the chart. Instead, they use the close price for open, high and low prices. So, while we can determine whether the close price is higher or lower than the preceding close price, there is no way of knowing what actually happened intra-bar for these candles. And by default candles that close at the same price as the open price, will be counted as green. You can avoid this problem by ensuring the lookback for the average range does not reach as far back as the start of the chart. If you are unsure about the candle count you can use my Candle Counter indicator to find out how many candles are displayed on the chart.
The green and red candle calculations are based solely on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with. Alternatively, you can replace the scenarios with your own logic to account for the gap anomalies, if you are feeling up to the challenge.
It is also worth noting that the lookback will be limited to your Trading View subscription plan. Premium users get 20,000 candles worth of data, pro+ and pro users get 10,000, and basic users get 5,000.
Pivot Highs&lows: Short/Medium/Long-term + Spikeyness FilterShows Pivot Highs & Lows defined or 'Graded' on a fractal basis: Short-term, medium-term and long-term. Also applies 'Spikeyness' condition by default to filter-out weak/rounded pivots
ES1! 4hr chart (CME) shown above, with lookback = 15; clearly identifying the major highs & lows on the basis of how they are fractally 'nested' within lesser Pivots.
-- in the above chart Short term pivot highs (STH) are simply represented by green 'ʌ', and short-term pivot lows (STL) are simply represented by orange 'v'.
//Basics: (as applying to pivot highs, the following is reversed for pivot lows)
-Short term highs (STH) are simple pivot highs, albeit refined from standard with the 'spikeyness' filter.
-Medium-term highs (MTH) are defined as having a lower STH on either side of them.
-Long-term highs (LTH) are defined as having a lower MTH on either side of them.
//Purpose:
-Education: Quick and easy visualization of the strength or importance of a pivot high or low; a way of grading them based on their larger context.
-Backtesting: use in combination with other trading methods when backtesting to see the relative significance and price sensitivity of LTHs/LTLs compared to lower grade highs and lows.
//Settings:
-Choose Pivot lookback/lookforward bars: One setting, the basis from which all further pivot calculations are done.
-Toggle on/off 'Spikeyness' condition to filter-out weak/rounded/unimpressive pivot highs or lows (default is ON).
-Toggle on/off each of STH, MTH, LTH, STL, MTL, LTL; and choose label text-styles/colors/sizes independently.
-Set text Vertically, horizonally, or simply use 'ʌ' or 'v' symbols if you want to declutter your chart.
//Usage notes:
-Pivots take time to print (lookback bars must have elapsed before confirmation). Fractally nested pivots as here (i.e. a LTH), take even longer to print/confirm, so please be patient.
-Works across timeframes & Assets. Different timeframes may require slightly tweaked lookback/forward settings for optimal use; default is 15 bars.
Example usage with just symbolic labels short-term, med-term, long-term with 1x, 2x and 3x ʌ/v respectively:
Return Line Downtrends [theEccentricTrader]█ OVERVIEW
This indicator simply plots multi-part return line downtrends and should be used in conjunction with my Return Line Uptrends, Downtrends and Uptrends indicators as a visual aid to my Trend Counter indicator.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a high price equal to or above the price it opened.
• A red candle is one that closes with a low price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Muti-Part Upper and Lower Trends
• A multi-part return line uptrend begins with the formation of a new return line uptrend, or higher peak, and continues until a new downtrend, or lower peak, completes the trend.
• A multi-part downtrend begins with the formation of a new downtrend, or lower peak, and continues until a new return line uptrend, or higher peak, completes the trend.
• A multi-part uptrend begins with the formation of a new uptrend, or higher trough, and continues until a new return line downtrend, or lower trough, completes the trend.
• A multi-part return line downtrend begins with the formation of a new return line downtrend, or lower trough, and continues until a new uptrend, or higher trough, completes the trend.
█ FEATURES
Plots
Red down-arrows, with the number of the trend part, denote return line downtrends.
█ LIMITATIONS
Some higher timeframe candles on tickers with larger lookbacks such as the DXY , do not actually contain all the open, high, low and close (OHLC) data at the beginning of the chart. Instead, they use the close price for open, high and low prices. So, while we can determine whether the close price is higher or lower than the preceding close price, there is no way of knowing what actually happened intra-bar for these candles. And by default candles that close at the same price as the open price, will be counted as green.
The green and red candle calculations are based solely on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with. Alternatively, you can replace the scenarios with your own logic to account for the gap anomalies, if you are feeling up to the challenge.
Uptrends [theEccentricTrader]█ OVERVIEW
This indicator simply plots multi-part uptrends and should be used in conjunction with my Return Line Uptrends, Downtrends and Return Line Downtrends indicators as a visual aid to my Trend Counter indicator.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a high price equal to or above the price it opened.
• A red candle is one that closes with a low price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Muti-Part Upper and Lower Trends
• A multi-part return line uptrend begins with the formation of a new return line uptrend, or higher peak, and continues until a new downtrend, or lower peak, completes the trend.
• A multi-part downtrend begins with the formation of a new downtrend, or lower peak, and continues until a new return line uptrend, or higher peak, completes the trend.
• A multi-part uptrend begins with the formation of a new uptrend, or higher trough, and continues until a new return line downtrend, or lower trough, completes the trend.
• A multi-part return line downtrend begins with the formation of a new return line downtrend, or lower trough, and continues until a new uptrend, or higher trough, completes the trend.
█ FEATURES
Plots
Green up-arrows, with the number of the trend part, denote uptrends.
█ LIMITATIONS
Some higher timeframe candles on tickers with larger lookbacks such as the DXY , do not actually contain all the open, high, low and close (OHLC) data at the beginning of the chart. Instead, they use the close price for open, high and low prices. So, while we can determine whether the close price is higher or lower than the preceding close price, there is no way of knowing what actually happened intra-bar for these candles. And by default candles that close at the same price as the open price, will be counted as green.
The green and red candle calculations are based solely on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with. Alternatively, you can replace the scenarios with your own logic to account for the gap anomalies, if you are feeling up to the challenge.
Downtrends [theEccentricTrader]█ OVERVIEW
This indicator simply plots multi-part downtrends and should be used in conjunction with my Return Line Uptrends, Uptrends and Return Line Downtrends indicators as a visual aid to my Trend Counter indicator.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a high price equal to or above the price it opened.
• A red candle is one that closes with a low price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Muti-Part Upper and Lower Trends
• A multi-part return line uptrend begins with the formation of a new return line uptrend, or higher peak, and continues until a new downtrend, or lower peak, completes the trend.
• A multi-part downtrend begins with the formation of a new downtrend, or lower peak, and continues until a new return line uptrend, or higher peak, completes the trend.
• A multi-part uptrend begins with the formation of a new uptrend, or higher trough, and continues until a new return line downtrend, or lower trough, completes the trend.
• A multi-part return line downtrend begins with the formation of a new return line downtrend, or lower trough, and continues until a new uptrend, or higher trough, completes the trend.
█ FEATURES
Plots
Red down-arrows, with the number of the trend part, denote downtrends.
█ LIMITATIONS
Some higher timeframe candles on tickers with larger lookbacks such as the DXY , do not actually contain all the open, high, low and close (OHLC) data at the beginning of the chart. Instead, they use the close price for open, high and low prices. So, while we can determine whether the close price is higher or lower than the preceding close price, there is no way of knowing what actually happened intra-bar for these candles. And by default candles that close at the same price as the open price, will be counted as green.
The green and red candle calculations are based solely on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with. Alternatively, you can replace the scenarios with your own logic to account for the gap anomalies, if you are feeling up to the challenge.
Return Line Uptrends [theEccentricTrader]█ OVERVIEW
This indicator simply plots multi-part return line uptrends and should be used in conjunction with my Downtrends, Uptrends and Return Line Downtrends indicators as a visual aid to my Trend Counter indicator.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a high price equal to or above the price it opened.
• A red candle is one that closes with a low price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Muti-Part Upper and Lower Trends
• A multi-part return line uptrend begins with the formation of a new return line uptrend, or higher peak, and continues until a new downtrend, or lower peak, completes the trend.
• A multi-part downtrend begins with the formation of a new downtrend, or lower peak, and continues until a new return line uptrend, or higher peak, completes the trend.
• A multi-part uptrend begins with the formation of a new uptrend, or higher trough, and continues until a new return line downtrend, or lower trough, completes the trend.
• A multi-part return line downtrend begins with the formation of a new return line downtrend, or lower trough, and continues until a new uptrend, or higher trough, completes the trend.
█ FEATURES
Plots
Green up-arrows, with the number of the trend part, denote return line uptrends.
█ LIMITATIONS
Some higher timeframe candles on tickers with larger lookbacks such as the DXY , do not actually contain all the open, high, low and close (OHLC) data at the beginning of the chart. Instead, they use the close price for open, high and low prices. So, while we can determine whether the close price is higher or lower than the preceding close price, there is no way of knowing what actually happened intra-bar for these candles. And by default candles that close at the same price as the open price, will be counted as green.
The green and red candle calculations are based solely on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with. Alternatively, you can replace the scenarios with your own logic to account for the gap anomalies, if you are feeling up to the challenge.
Trend Counter [theEccentricTrader]█ OVERVIEW
This indicator counts the number of confirmed trend scenarios on any given candlestick chart and displays the statistics in a table, which can be repositioned and resized at the user's discretion.
█ CONCEPTS
Green and Red Candles
• A green candle is one that closes with a high price equal to or above the price it opened.
• A red candle is one that closes with a low price that is lower than the price it opened.
Swing Highs and Swing Lows
• A swing high is a green candle or series of consecutive green candles followed by a single red candle to complete the swing and form the peak.
• A swing low is a red candle or series of consecutive red candles followed by a single green candle to complete the swing and form the trough.
Peak and Trough Prices (Basic)
• The peak price of a complete swing high is the high price of either the red candle that completes the swing high or the high price of the preceding green candle, depending on which is higher.
• The trough price of a complete swing low is the low price of either the green candle that completes the swing low or the low price of the preceding red candle, depending on which is lower.
Upper Trends
• A return line uptrend is formed when the current peak price is higher than the preceding peak price.
• A downtrend is formed when the current peak price is lower than the preceding peak price.
• A double-top is formed when the current peak price is equal to the preceding peak price.
Lower Trends
• An uptrend is formed when the current trough price is higher than the preceding trough price.
• A return line downtrend is formed when the current trough price is lower than the preceding trough price.
• A double-bottom is formed when the current trough price is equal to the preceding trough price.
Muti-Part Upper and Lower Trends
• A multi-part return line uptrend begins with the formation of a new return line uptrend, or higher peak, and continues until a new downtrend, or lower peak, completes the trend.
• A multi-part downtrend begins with the formation of a new downtrend, or lower peak, and continues until a new return line uptrend, or higher peak, completes the trend.
• A multi-part uptrend begins with the formation of a new uptrend, or higher trough, and continues until a new return line downtrend, or lower trough, completes the trend.
• A multi-part return line downtrend begins with the formation of a new return line downtrend, or lower trough, and continues until a new uptrend, or higher trough, completes the trend.
█ FEATURES
Inputs
Start Date
End Date
Position
Text Size
Show Sample Period
Table
The table is colour coded, consists of seven columns and, as many as, forty-one rows. Blue cells denote the multi-part trend scenarios, green cells denote the corresponding return line uptrend and uptrend scenarios and red cells denote the corresponding downtrend and return line downtrend scenarios.
The trend scenarios are listed in the first column with their corresponding total counts to the right, in the second and fifth columns. The last row in column one, displays the sample period which can be adjusted or hidden via indicator settings.
The third and sixth columns display the trend scenarios as percentage of total 1-part trends. And columns four and seven display the total trend scenarios as percentages of the, last, or preceding trend part. For example 4-part trends as a percentages of 3-part trends. This offers more insight into what might happen next at any given point in time.
Plots
For a visual aid to this indicator please use in conjunction with my Return Line Uptrends, Downtrends, Uptrends and Return Line Downtrends indicators which can all be found on my profile page under scripts, or in community scripts under the same names. Unfortunately, I could not fit all the plots with the correct offsets into one script so I had to make a separate indicator for each trend type. I decided against labels as this would limit the visual data points to 500.
Green up-arrows, with the number of the trend part, denote return line uptrends and uptrends. Red down-arrows, with the number of the trend part, denote downtrends and return line downtrends.
█ HOW TO USE
This is intended for research purposes, strategy development and strategy optimisation. I hope it will be useful in helping to gain a better understanding of the underlying dynamics at play on any given market and timeframe.
It can, for example, give you an idea of whether the current trend will continue or fail, based on the current trend scenario and what has happened in the past under similar circumstances. Such information can be very useful when conducting top down analysis across multiple timeframes and making strategic decisions.
What you do with these statistics and how far you decide to take your research is entirely up to you, the possibilities are endless.
█ LIMITATIONS
Some higher timeframe candles on tickers with larger lookbacks such as the DXY , do not actually contain all the open, high, low and close (OHLC) data at the beginning of the chart. Instead, they use the close price for open, high and low prices. So, while we can determine whether the close price is higher or lower than the preceding close price, there is no way of knowing what actually happened intra-bar for these candles. And by default candles that close at the same price as the open price, will be counted as green. You can avoid this problem by utilising the sample period filter.
The green and red candle calculations are based solely on differences between open and close prices, as such I have made no attempt to account for green candles that gap lower and close below the close price of the preceding candle, or red candles that gap higher and close above the close price of the preceding candle. I can only recommend using 24-hour markets, if and where possible, as there are far fewer gaps and, generally, more data to work with. Alternatively, you can replace the scenarios with your own logic to account for the gap anomalies, if you are feeling up to the challenge.
It is also worth noting that the sample size will be limited to your Trading View subscription plan. Premium users get 20,000 candles worth of data, pro+ and pro users get 10,000, and basic users get 5,000. If upgrading is currently not an option, you can always keep a rolling tally of the statistics in an excel spreadsheet or something of the like.
Opening Range & Daily and Weekly PivotsThis script is for a combination of two indicators: an Opening Range Breakout (ORB) indicator and a daily/weekly high/low pivot indicator. The ORB indicator displays the opening range (the high and low of the first X minutes of the trading day, where X is a user-defined parameter) as two lines on the chart. If the price closes above the ORB high, the script triggers an alert with the message "Price has broken above the opening range." Similarly, if the price closes below the ORB low, the script triggers an alert with the message "Price has broken below the opening range."
The daily/weekly high/low pivot indicator plots the previous day's high and low as well as the previous week's high and low. If the current price closes above yesterday's high or last week's high, the script triggers an alert with the messages "We are now trading higher than the previous daily high" and "We are now trading higher than the last week high", respectively. If the current price closes below yesterday's low or last week's low, the script triggers an alert with the messages "We are now trading lower than the previous daily low" and "We are now trading lower than the last week low", respectively.
In addition to the visual representation on the chart, the script also triggers alerts when the price crosses any of these levels. These alerts are intended to help traders make decisions about entering or exiting trades based on the price action relative to key levels of support and resistance.
ATR PivotsThe "ATR Pivots" script is a technical analysis tool designed to help traders identify key levels of support and resistance on a chart. The indicator uses various metrics such as the Average True Range (ATR), Daily True Range ( DTR ), Daily True Range Percentage (DTR%), Average Daily Range (ADR), Previous Day High ( PDH ), and Previous Day Low ( PDL ) to provide a comprehensive picture of the volatility and movement of a security. The script also includes an EMA cloud and 200 EMA for trend identification and a 1-minute ATR scalping strategy for traders to make informed trading decisions.
ATR Detail:-
The ATR is a measure of the volatility of a security over a given period of time. It is calculated by taking the average of the true range (the difference between the high and low of a security) over a set number of periods. The user can input the number of periods (ATR length) to be used for the ATR calculation. The script also allows the user to choose whether to use the current close or not for the calculation. The script calculates various levels of support and resistance based on the relationship between the security's range ( high-low ) and the ATR. The levels are calculated by multiplying the ATR by different Fibonacci ratios (0.236, 0.382, 0.5, 0.618, 0.786, 1.000) and then adding or subtracting the result from the previous close. The script plots these levels on the chart, with the -100 level being the most significant level. The user also has an option to choose whether to plot all Fibonacci levels or not.
DTR and DTR% Detail:-
The Daily True Range Percentage (DTR%) is a metric that measures the daily volatility of a security as a percentage of its previous close. It is calculated by dividing the Daily True Range ( DTR ) by the previous close. DTR is the range between the current period's high and low and gives a measure of the volatility of the security on a daily basis. DTR% can be used as an indicator of the percentage of movement of the security on a daily basis. In this script, DTR% is used in combination with other metrics such as the Average True Range (ATR) and Fibonacci ratios to calculate key levels of support and resistance for the security. The idea behind using DTR% is that it can help traders to better understand the daily volatility of the security and make more informed trading decisions.
For example, if a security has a DTR% of 2%, it suggests that the security has a relatively low level of volatility and is less likely to experience significant price movements on a daily basis. On the other hand, if a security has a DTR% of 10%, it suggests that the security has a relatively high level of volatility and is more likely to experience significant price movements on a daily basis.
ADR:-
The script then calculates the ADR (Average Daily Range) which is the average of the daily range of the security, using the formula (Period High - Period Low) / ATR Length. This gives a measure of the average volatility of the security on a daily basis, which can be useful for determining potential levels of support and resistance .
PDH /PDL:-
The script also calculates PDH (Previous Day High) and PDL (Previous Day Low) which are the High and low of the previous day of the security. This gives a measure of the previous day's volatility and movement, which can be useful for determining potential levels of support and resistance .
EMA Cloud and 200 EMA Detail:-
The EMA cloud is a technical analysis tool that helps traders identify the trend of the market by comparing two different exponential moving averages (EMAs) of different lengths. The cloud is created by plotting the fast EMA and the slow EMA on the chart and filling the space between them. The user can input the length of the fast and slow EMA , and the script will calculate and plot these EMAs on the chart. The space between the two EMAs is then filled with a color that represents the trend, with green indicating a bullish trend and red indicating a bearish trend . Additionally, the script also plots a 200 EMA , which is a commonly used long-term trend indicator. When the fast EMA is above the slow EMA and the 200 EMA , it is considered a bullish signal, indicating an uptrend. When the fast EMA is below the slow EMA and the 200 EMA , it is considered a bearish signal, indicating a downtrend. The EMA cloud and 200 EMA can be used together to help traders identify the overall trend of the market and make more informed trading decisions.
1 Minute ATR Scalping Strategy:-
The script also includes a 1-minute ATR scalping strategy that can be used by traders looking for quick profits in the market. The strategy involves using the ATR levels calculated by the script as well as the EMA cloud and 200 EMA to identify potential buy and sell opportunities. For example, if the 1-minute ATR is above 11 in NIFTY and the EMA cloud is bullish , the strategy suggests buying the security. Similarly, if the 1-minute ATR is above 30 in BANKNIFTY and the EMA cloud is bullish , the strategy suggests buying the security.
Inside Candle:-
The Inside Candle is a price action pattern that occurs when the current candle's high and low are entirely within the range of the previous candle's high and low. This pattern indicates indecision or consolidation in the market and can be a potential sign of a trend reversal. When used in the 15-minute chart, traders can look for Inside Candle patterns that occur at key levels of support or resistance. If the Inside Candle pattern occurs at a key level and the price subsequently breaks out of the range of the Inside Candle, it can be a signal to enter a trade in the direction of the breakout. Traders can also use the Inside Candle pattern to trade in a tight range, or to reduce their exposure to a current trend.
Risk Management:-
As with any trading strategy, it is important to practice proper risk management when using the ATR Pivots script and the 1-minute ATR scalping strategy. This may include setting stop-loss orders, using appropriate position sizing, and diversifying your portfolio. It is also important to note that past performance is not indicative of future results and that the script and strategy provided are for educational purposes only.
In conclusion, the "ATR Pivots" script is a powerful tool that can help traders identify key levels of support and resistance , as well as trend direction. The additional metrics such as DTR , DTR%, ADR, PDH , and PDL provide a more comprehensive picture of the volatility and movement of the security, making it easier for traders to make better trading decisions. The inclusion of the EMA cloud and 200 EMA for trend identification, and the 1-minute ATR scalping strategy for quick profits can further enhance a trader's decision-making process. However, it is important to practice proper risk management and understand that past performance is not indicative of future results.
Special thanks to satymahajan for the idea of clubbing Average True Range with Fibonacci levels.
Traders_Reality_LibLibrary "Traders_Reality_Lib"
This library contains common elements used in Traders Reality scripts
calcPvsra(pvsraVolume, pvsraHigh, pvsraLow, pvsraClose, pvsraOpen, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, darkGreyCandleColor, lightGrayCandleColor)
calculate the pvsra candle color and return the color as well as an alert if a vector candle has apperared.
Situation "Climax"
Bars with volume >= 200% of the average volume of the 10 previous chart TFs, or bars
where the product of candle spread x candle volume is >= the highest for the 10 previous
chart time TFs.
Default Colors: Bull bars are green and bear bars are red.
Situation "Volume Rising Above Average"
Bars with volume >= 150% of the average volume of the 10 previous chart TFs.
Default Colors: Bull bars are blue and bear are violet.
Parameters:
pvsraVolume : the instrument volume series (obtained from request.sequrity)
pvsraHigh : the instrument high series (obtained from request.sequrity)
pvsraLow : the instrument low series (obtained from request.sequrity)
pvsraClose : the instrument close series (obtained from request.sequrity)
pvsraOpen : the instrument open series (obtained from request.sequrity)
redVectorColor : red vector candle color
greenVectorColor : green vector candle color
violetVectorColor : violet/pink vector candle color
blueVectorColor : blue vector candle color
darkGreyCandleColor : regular volume candle down candle color - not a vector
lightGrayCandleColor : regular volume candle up candle color - not a vector
@return
adr(length, barsBack)
Parameters:
length : how many elements of the series to calculate on
barsBack : starting possition for the length calculation - current bar or some other value eg last bar
@return adr the adr for the specified lenght
adrHigh(adr, fromDo)
Calculate the ADR high given an ADR
Parameters:
adr : the adr
fromDo : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adrHigh the position of the adr high in price
adrLow(adr, fromDo)
Parameters:
adr : the adr
fromDo : boolean flag, if false calculate traditional adr from high low of today, if true calcualte from exchange midnight
@return adrLow the position of the adr low in price
splitSessionString(sessXTime)
given a session in the format 0000-0100:23456 split out the hours and minutes
Parameters:
sessXTime : the session time string usually in the format 0000-0100:23456
@return
calcSessionStartEnd(sessXTime, gmt)
calculate the start and end timestamps of the session
Parameters:
sessXTime : the session time string usually in the format 0000-0100:23456
gmt : the gmt offset string usually in the format GMT+1 or GMT+2 etc
@return
drawOpenRange(sessXTime, sessXcol, showOrX, gmt)
draw open range for a session
Parameters:
sessXTime : session string in the format 0000-0100:23456
sessXcol : the color to be used for the opening range box shading
showOrX : boolean flag to toggle displaying the opening range
gmt : the gmt offset string usually in the format GMT+1 or GMT+2 etc
@return void
drawSessionHiLo(sessXTime, show_rectangleX, show_labelX, sessXcolLabel, sessXLabel, gmt, sessionLineStyle)
Parameters:
sessXTime : session string in the format 0000-0100:23456
show_rectangleX : show the session high and low lines
show_labelX : show the session label
sessXcolLabel : the color to be used for the hi/low lines and label
sessXLabel : the session label text
gmt : the gmt offset string usually in the format GMT+1 or GMT+2 etc
sessionLineStyle : the line stile for the session high low lines
@return void
calcDst()
calculate market session dst on/off flags
@return indicating if DST is on or off for a particular region
timestampPreviousDayOfWeek(previousDayOfWeek, hourOfDay, gmtOffset, oneWeekMillis)
Timestamp any of the 6 previous days in the week (such as last Wednesday at 21 hours GMT)
Parameters:
previousDayOfWeek : Monday or Satruday
hourOfDay : the hour of the day when psy calc is to start
gmtOffset : the gmt offset string usually in the format GMT+1 or GMT+2 etc
oneWeekMillis : the amount if time for a week in milliseconds
@return the timestamp of the psy level calculation start time
getdayOpen()
get the daily open - basically exchange midnight
@return the daily open value which is float price
newBar(res)
new_bar: check if we're on a new bar within the session in a given resolution
Parameters:
res : the desired resolution
@return true/false is a new bar for the session has started
toPips(val)
to_pips Convert value to pips
Parameters:
val : the value to convert to pips
@return the value in pips
rLabel(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series during the current bar
Parameters:
ry : series float the y coordinate of the lable
rtext : the text of the label
rstyle : the style for the lable
rcolor : the color for the label
valid : a boolean flag that allows for turning on or off a lable
labelXOffset : how much to offset the label from the current position
rLabelOffset(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series during the current bar
Parameters:
ry : series float the y coordinate of the lable
rtext : the text of the label
rstyle : the style for the lable
rcolor : the color for the label
valid : a boolean flag that allows for turning on or off a lable
labelXOffset : how much to offset the label from the current position
rLabelLastBar(ry, rtext, rstyle, rcolor, valid, labelXOffset)
a function that draws a right aligned lable for a series only on the last bar
Parameters:
ry : series float the y coordinate of the lable
rtext : the text of the label
rstyle : the style for the lable
rcolor : the color for the label
valid : a boolean flag that allows for turning on or off a lable
labelXOffset : how much to offset the label from the current position
drawLine(xSeries, res, tag, xColor, xStyle, xWidth, xExtend, isLabelValid, labelXOffset, validTimeFrame)
a function that draws a line and a label for a series
Parameters:
xSeries : series float the y coordinate of the line/label
res : the desired resolution controlling when a new line will start
tag : the text for the lable
xColor : the color for the label
xStyle : the style for the line
xWidth : the width of the line
xExtend : extend the line
isLabelValid : a boolean flag that allows for turning on or off a label
labelXOffset : how much to offset the label from the current position
validTimeFrame : a boolean flag that allows for turning on or off a line drawn
drawLineDO(xSeries, res, tag, xColor, xStyle, xWidth, xExtend, isLabelValid, labelXOffset, validTimeFrame)
a function that draws a line and a label for the daily open series
Parameters:
xSeries : series float the y coordinate of the line/label
res : the desired resolution controlling when a new line will start
tag : the text for the lable
xColor : the color for the label
xStyle : the style for the line
xWidth : the width of the line
xExtend : extend the line
isLabelValid : a boolean flag that allows for turning on or off a label
labelXOffset : how much to offset the label from the current position
validTimeFrame : a boolean flag that allows for turning on or off a line drawn
drawPivot(pivotLevel, res, tag, pivotColor, pivotLabelColor, pivotStyle, pivotWidth, pivotExtend, isLabelValid, validTimeFrame, levelStart, pivotLabelXOffset)
draw a pivot line - the line starts one day into the past
Parameters:
pivotLevel : series of the pivot point
res : the desired resolution
tag : the text to appear
pivotColor : the color of the line
pivotLabelColor : the color of the label
pivotStyle : the line style
pivotWidth : the line width
pivotExtend : extend the line
isLabelValid : boolean param allows to turn label on and off
validTimeFrame : only draw the line and label at a valid timeframe
levelStart : basically when to start drawing the levels
pivotLabelXOffset : how much to offset the label from its current postion
@return the pivot line series
getPvsraFlagByColor(pvsraColor, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, lightGrayCandleColor)
convert the pvsra color to an internal code
Parameters:
pvsraColor : the calculated pvsra color
redVectorColor : the user defined red vector color
greenVectorColor : the user defined green vector color
violetVectorColor : the user defined violet vector color
blueVectorColor : the user defined blue vector color
lightGrayCandleColor : the user defined regular up candle color
@return pvsra internal code
updateZones(pvsra, direction, boxArr, maxlevels, pvsraHigh, pvsraLow, pvsraOpen, pvsraClose, transperancy, zoneupdatetype, zonecolor, zonetype, borderwidth, coloroverride, redVectorColor, greenVectorColor, violetVectorColor, blueVectorColor, lightGrayCandleColor)
a function that draws the unrecovered vector candle zones
Parameters:
pvsra : internal code
direction : above or below the current pa
boxArr : the array containing the boxes that need to be updated
maxlevels : the maximum number of boxes to draw
pvsraHigh : the pvsra high value series
pvsraLow : the pvsra low value series
pvsraOpen : the pvsra open value series
pvsraClose : the pvsra close value series
transperancy : the transparencfy of the vecor candle zones
zoneupdatetype : the zone update type
zonecolor : the zone color if overriden
zonetype : the zone type
borderwidth : the width of the border
coloroverride : if the color overriden
redVectorColor : the user defined red vector color
greenVectorColor : the user defined green vector color
violetVectorColor : the user defined violet vector color
blueVectorColor : the user defined blue vector color
lightGrayCandleColor : the user defined regular up candle color
cleanarr(arr)
clean an array from na values
Parameters:
arr : the array to clean
@return if the array was cleaned
calcPsyLevels(oneWeekMillis, showPsylevels, psyType, sydDST)
calculate the psy levels
4 hour res based on how mt4 does it
mt4 code
int Li_4 = iBarShift(NULL, PERIOD_H4, iTime(NULL, PERIOD_W1, Li_0)) - 2 - Offset;
ObjectCreate("PsychHi", OBJ_TREND, 0, Time , iHigh(NULL, PERIOD_H4, iHighest(NULL, PERIOD_H4, MODE_HIGH, 2, Li_4)), iTime(NULL, PERIOD_W1, 0), iHigh(NULL, PERIOD_H4,
iHighest(NULL, PERIOD_H4, MODE_HIGH, 2, Li_4)));
so basically because the session is 8 hours and we are looking at a 4 hour resolution we only need to take the highest high an lowest low of 2 bars
we use the gmt offset to adjust the 0000-0800 session to Sydney open which is at 2100 during dst and at 2200 otherwize. (dst - spring foward, fall back)
keep in mind sydney is in the souther hemisphere so dst is oposite of when london and new york go into dst
Parameters:
oneWeekMillis : a constant value
showPsylevels : should psy levels be calculated
psyType : the type of Psylevels - crypto or forex
sydDST : is Sydney in DST
@return
Scalping The Bull IndicatorName: Scalping The Bull Indicator
Category: Scalping, Trend Following, Mean Reversion.
Timeframe: 1M, 5M, 30M, 1D depending on the specific technique.
Technical Analysis: The indicator supports the operations of the trader named "Scalping The Bull" which uses price action and exponential moving averages.
Suggested usage: Altcoin showing strong trends for scalping and intra-day trades. Trigger points are used as entry and exit points and to be used to understand when a signal has more power.
It is possible to identify the following conformations:
Shimano: look at the price records of a consecutive series of closings between the EMA 60 and the EMA 223 when a certain threshold is reached. Use the trigger points as price structures to identify entry and exit zones (e.g. breakout of the yesterday high as for entry point) .
Bomb: look at the price registers a percentage variation in a single candle, greater than a threshold such as 2%, in particular on shorter timeframes and around the trigger points.
Viagra: look at there is a consecutive series of closes below the EMA 10.
Downward fake: look when, after a cross under (Death Cross), the price returns above the EMA 223 using the yesterday high as a trigger point.
Emergence: look at the EMA 60 is about to cross over the EMA 223.
Anti-crossing: look at, after an important price rise and a subsequent retracement, the EMA 60 is about to cross under the EMA 223 but a bullish impulse brings the price back above the EMAs.
For Sales: look at two types of situations: 1) when the price falls by more than 10% from the opening price and around the yesterday’s low or 2) when the price falls and then reaches, in the last 5 days, a bigger percentage and then breaks a trigger point.
Colour change: look at the opening price of the session - indicated as a trigger point.
Third touch of EMA 60: look for 3 touches below the EMA 60, and enter when there is a close above the EMA 60.
Third touch of EMA 223: look for 3 touches when there are 3 touches below the EMA 223, and enter when there is a close above the EMA 60.
Bud: look at price when it crosses upwards the average 10 and subsequently at least 2 "rest" candles are between the maximum and minimum of the breaking candle.
Fake on EMA 10: look for the open of a candle higher than the EMA 10, the minimum of the candle lower and the closing price returns above the EMA 10..
For Stop Loss and Profit Targets consider a proper R/R depending on Risk Management, using price structures such as the low of the entering candle and a quick Position Management moving quickly the Stop-Loss at Break-Even.
Configuration:
Market
EMA: The indicator automatically configure itself on market it knows (Binance, Piazza Affari and NASDAQ) otherwise it can be configured manually fo Crypto market (5/10/60/223) or Stock Market (5/10/50/200).
Additional Average: You can display an additional average, e.g. 20-period average.
Chart elements:
Session Separators: indicates the beginning of the current session (in blue)
Background: signals with the background in green an uptrend situation ( 60 > 223) and in red background a downtrend situation (60 < 223).
Trigger points:
Today's highs and lows: draw on the chart the opening price of the daily candle and the highs and lows of the day (high in purple, low in red and open in green)
Yesterday's highs and lows: draw on the chart the opening price of the daily candle, the highs and lows of the previous day (high in yellow, low in red).
Credits
Massimo : for refactoring and suggestions.
PivotsLibrary "Pivots"
This Library focuses in functions related to pivot highs and lows and some of their applications (i.e. divergences, zigzag, harmonics, support and resistance...)
pivots(srcH, srcL, length) Delivers series of pivot highs, lows and zigzag.
Parameters:
srcH : Source series to look for pivot highs. Stricter applications might source from 'close' prices. Oscillators are also another possible source to look for pivot highs and lows. By default 'high'
srcL : Source series to look for pivot lows. By default 'low'
length : This value represents the minimum number of candles between pivots. The lower the number, the more detailed the pivot profile. The higher the number, the more relevant the pivots. By default 10
Returns:
zigzagArray(pivotHigh, pivotLow) Delivers a Zigzag series based on alternating pivots. Ocasionally this line could paint a few consecutive lows or highs without alternating. That happens because it's finding a few consecutive Higher Highs or Lower Lows. If to use lines entities instead of series, that could be easily avoided. But in this one, I'm more interested outputting series rather than painting/deleting line entities.
Parameters:
pivotHigh : Pivot high series
pivotLow : Pivot low series
Returns:
zigzagLine(srcH, srcL, colorLine, widthLine) Delivers a Zigzag based on line entities.
Parameters:
srcH : Source series to look for pivot highs. Stricter applications might source from 'close' prices. Oscillators are also another possible source to look for pivot highs and lows. By default 'high'
srcL : Source series to look for pivot lows. By default 'low'
colorLine : Color of the Zigzag Line. By default Fuchsia
widthLine : Width of the Zigzag Line. By default 4
Returns: Zigzag printed on screen
divergence(h2, l2, h1, l1, length) Calculates divergences between 2 series
Parameters:
h2 : Series in which to locate divs: Highs
l2 : Series in which to locate divs: Lows
h1 : Series in which to locate pivots: Highs. By default high
l1 : Series in which to locate pivots: Lows. By default low
length : Length used to calculate Pivots: By default 10
Returns:
Double Top/BottomHere is an attempt to identify double top/bottom based on pivot high/lows.
Logic is simple.
Double Bottom:
Last two pivot High Lows make W shape
Last Pivot Low is higher than previous Last Pivot Low.
Last Pivot High is lower than previous last Pivot High.
Price has not gone below Last Pivot Low
Price breaks out of last Pivot High to complete W shape
Double Top:
Last two pivot High Lows make M shape
Last Pivot Low is higher than previous Last Pivot Low.
Last Pivot High is lower than previous last Pivot High.
Price has not gone above Last Pivot High
Price breaks out of last Pivot Low to complete M shape
Prameters:
Parameters PvtLenL , PvtLenR and waitforclose determines pivot points.
FilterPivots clears repetitive pivots formed in same direction before calculating the possible double top/bottom.
For example:
CheckForAbsolutePeaks and AbsolutePeakLoopback works together. When CheckForAbsolutePeaks is enabled, script only generates double bottom or top signal if previous last pivot is absolute high or low for AbsolutePeakLoopback periods.
ConsiderMovingAverage does two things. First, it makes sure that fast moving average and slow moving averages are aligned with the direction we are going to forecast. Second, it makes sure that the crossover happend recently and with last BarCrossoverLimit bars. For example, to call it double bottom, Fast MA should be higher than Slow MA and crossover of FastMA above SlowMA should have happened in last 10 bars (BarCrossoverLimit)
PivotDisplayMode can be Actual, Filtered or None. Actual will display all pivot high low generated. Filtered will only display last 5 pivot high and pivot lows which are filtered . That means, it will remove the repetitive pivots formed without making pivots on the other side.
Welcome and suggestions and feedbacks.
Trend Gazer v666: Unified ICT Trading System# Trend Gazer v666: Unified ICT Trading System
※日本語説明もあります。 Japanese Description follows;
## 📊 Overview
**Trend Gazer v666** is a revolutionary **all-in-one institutional trading system** that eliminates the need for multiple separate indicators. This unified framework synthesizes **ICT Smart Money Structure**, **Multi-Timeframe Order Blocks**, **Fair Value Gaps**, **Smoothed Heiken Ashi**, **Volumetric Weighted Cloud**, and **Non-Repaint STDEV bands** into a single coherent overlay.
Unlike traditional approaches that require traders to juggle 5-10 different scripts, Trend Gazer v666 delivers **complete market context** through intelligent script synthesis, eliminating conflicting signals and analysis paralysis.
---
## 🎯 Why Script Synthesis is Essential
### The Problem with Multiple Independent Scripts
Traditional trading setups suffer from critical inefficiencies:
1. **Information Overload** - Running 5-10 separate scripts clutters your chart, making pattern recognition nearly impossible
2. **Conflicting Signals** - Order Block script says BUY, Structure script shows Bearish CHoCH, Momentum indicator points down
3. **Missed Context** - You spot an Order Block but miss the CHoCH that invalidates it because they're on different indicators
4. **Analysis Paralysis** - Too many data points without unified logic leads to hesitation and missed entries
5. **Performance Degradation** - Multiple `request.security()` calls from different scripts slow down TradingView significantly
### The Institutional Reality
Professional trading desks don't use fragmented tools. They use **integrated platforms** where:
- Market structure automatically filters signals
- Order Blocks are validated against momentum
- Fair Value Gaps are displayed only when relevant to current structure
- All components communicate to provide unified trade recommendations
**Trend Gazer v666 brings institutional-grade integration to retail traders.**
---
## 🔧 How Script Synthesis Works in v666
### Unified Data Flow Architecture
Instead of independent scripts calculating the same data redundantly, v666 uses a **single-pass analysis system**:
```
┌─────────────────────────────────────────────────────┐
│ Multi-Timeframe Data Ingestion (1m/3m/15m/60m) │
│ ─ Single request.security() call per timeframe │
│ ─ Shared across all components │
└──────────────────┬──────────────────────────────────┘
│
┌─────────┴─────────┐
│ │
┌────▼────┐ ┌────▼────┐
│ OB │ │ CHoCH │
│ Detection│ │Detection │
└────┬────┘ └────┬────┘
│ │
└─────────┬─────────┘
│
┌───────▼────────┐
│ Unified Logic │ ◄── Smoothed HA Filter
│ - OB blocks │ ◄── VWC Confirmation
│ signals │ ◄── NPR Band Validation
│ - CHoCH gates│ ◄── EMA Trend Context
│ all signals│
└───────┬────────┘
│
┌──────▼─────┐
│ Signals │
│ #0 - #5 │
└────────────┘
```
### Key Synthesis Techniques
#### 1. **Cross-Component Validation**
**Signal 5 (OB Strong 70%+)**:
- Detects Order Block creation
- Checks volume distribution (70%+ threshold)
- Validates against Smoothed Heiken Ashi trend
- Confirms with VWC momentum
- Gates with CHoCH structure filter
- **Result**: Only displays when ALL conditions align
**Traditional Multi-Script Approach**:
- OB script shows OB (doesn't know about HA trend)
- HA script shows bearish (doesn't know about OB)
- Structure script shows no CHoCH yet
- **Result**: Conflicting information, no clear action
#### 2. **Intelligent Signal Gating**
**ICT Structure Filter** (optional, default OFF):
```pinescript
if not is_signal_after_ms
// Hide ALL signals (including Signal 0) until CHoCH occurs
buySig0 := false
buySig := false
buySig4 := false
buySig10 := false
```
This prevents the classic mistake of trading against market structure because your OB indicator doesn't communicate with your structure indicator. **All signals (S0-S5) are subject to this filter when enabled.**
#### 3. **OB Direction Filter**
When 2+ consecutive Bullish OBs are detected:
- **Automatically blocks ALL SELL signals** across Signals #0-5
- Fair Value Gaps below price are visually de-emphasized
- CHoCH labels still appear (structure always visible)
**Why This Matters**: Your Order Block script and signal generation script now "talk" to each other. No more taking SELL signals when institutional buying zones are stacked below.
#### 4. **Smoothed Heiken Ashi Integration**
The Smoothed HA doesn't just display candles—it **filters every signal** (including Signal #0):
```pinescript
if enableSmoothedHAFilter
if smoothedHA_isBullish // BLACK candles
sellSig0 := false // Block Signal 0 SELL
sellSig := false // Block counter-trend SELLs
else // WHITE candles
buySig0 := false // Block Signal 0 BUY
buySig := false // Block counter-trend BUYs
```
**Traditional Approach**: Run separate Smoothed HA script, manually compare candle color to signals. Easy to miss.
#### 5. **Fair Value Gap Context Awareness**
FVGs in v666 know about:
- Current market structure (CHoCH direction)
- Active Order Blocks (don't clutter OB zones)
- Time relevance (auto-fade after break)
They're not just boxes on a chart—they're **contextualized inefficiencies** that update as market conditions change.
#### 6. **Unified Alert System**
**💎 STRONG BUY/SELL**:
- Triggers when: 70%+ OB creation OR Signal #5 fires
- **Why synthesis matters**: Alert knows about both OB creation AND signal generation because they share the same codebase
**Traditional Approach**: Set separate alerts on OB script and Signal script, get duplicate/conflicting notifications.
---
## 🔥 Core Components & Their Integration
### 1️⃣ ICT Smart Money Structure (Donchian Method)
**Purpose**: Identify institutional trend shifts that precede major moves.
**Components**:
- **1.CHoCH** (Bullish) - Lower low broken, bullish structure shift
- **A.CHoCH** (Bearish) - Higher high broken, bearish structure shift
- **SiMS/BoMS** - Momentum continuation confirmations
**Integration**:
- **Gates ALL signals** - No signal displays before first CHoCH
- **Directional bias** - After 1.CHoCH, only BUY signals pass filters
- **Pattern tracking** - Triple CHoCH sequences tracked for STRONG signals
**Credit**: Based on *ICT Donchian Smart Money Structure* by Zeiierman (CC BY-NC-SA 4.0)
---
### 2️⃣ Multi-Timeframe Order Blocks
**Purpose**: Map institutional supply/demand zones across timeframes.
**Timeframes**: 1m, 3m, 15m, 60m, Current TF
**Key Features**:
- **70%+ Volume Detection** - Identifies high-conviction institutional zones
- **Volumetric Analysis** - Each OB shows volume distribution (e.g., "12.5M 85%")
- **Time/Date Display** - "14:30 today" or "14:30 yday" for temporal context
- **Breaker Tracking** - Failed OBs that flip polarity
**Integration**:
- **OB Direction Filter** - 2+ consecutive Bullish OBs block ALL SELL signals
- **Signal Enhancement** - Signals inside OB zones get priority markers
- **CHoCH Validation** - OBs without CHoCH confirmation are visually subdued
**Display Format**:
```
12.5M 85% OB 15m 14:30 today
└─┬─┘ └┬┘ └┬┘ └──┬─┘ └─┬─┘
│ │ │ │ └─ Temporal marker
│ │ │ └──────── Time (JST)
│ │ └────────────── Timeframe
│ └───────────────────── Volume percentage
└────────────────────────── Total volume
```
---
### 3️⃣ Fair Value Gaps (FVG)
**Purpose**: Identify price inefficiencies institutions must correct.
**Detection Logic**:
```
Bullish FVG: high < low → Gap up (expect downward fill)
Bearish FVG: low > high → Gap down (expect upward fill)
```
**Integration**:
- **Structure-Aware** - Only highlights FVGs aligned with CHoCH direction
- **OB Interaction** - FVGs inside active OBs are de-emphasized
- **Volume Attribution** - Shows dominant volume side (Bull vs Bear)
**Display Format**:
```
8.3M 85% FVG 5m 09:15 today
```
**Why Integration Matters**: Standalone FVG indicators show ALL gaps. v666 shows only **actionable** gaps based on current market structure.
---
### 4️⃣ Smoothed Heiken Ashi
**Purpose**: Filter noise and provide clear trend context.
**Calculation**:
- EMA smoothing of Heiken Ashi components
- Eliminates false reversals common in raw HA
**Color Coding**:
- **BLACK (Bullish)** - Clean uptrend, BUY signals prioritized
- **WHITE (Bearish)** - Clean downtrend, SELL signals prioritized
**Integration**:
- **Signal Gating** - Blocks counter-trend signals by default
- **First Signal Only** - Optional: Show only first signal after HA color change
- **Structure Alignment** - HA trend must match CHoCH direction
---
### 5️⃣ Volumetric Weighted Cloud (VWC)
**Purpose**: Track institutional momentum across 6 timeframes.
**Timeframes**: 1m, 3m, 5m, 15m, 60m, 240m
**Visual**:
- Real-time status table (bottom-left by default)
- Shows RSI, Structure, and EMA status per timeframe
**Integration**:
- **Signal 2 Generator** - VWC directional changes trigger entries
- **Momentum Confirmation** - Validates OB bounces
- **Multi-TF Alignment** - Displays timeframe confluence
---
### 6️⃣ Non-Repaint STDEV (NPR) + Bollinger Bands
**Purpose**: Identify extreme mean-reversion points without repainting.
**Timeframes**: 15m, 60m
**Integration**:
- **Signal 4** - 60m NPR/BB bounce with EMA slope validation
- **Volatility Context** - Informs OB size expectations
- **Extreme Detection** - "Close INSIDE bands" logic prevents knife-catching
---
## 🚀 Six-Signal Trading System
### Signal Hierarchy
**💎 HIGHEST PRIORITY**:
- **Signal #5 (OB Strong 70%+)** - Institutional conviction zones
**⭐ HIGH PRIORITY**:
- **Signal #4** - 60m NPR/BB bounce with EMA filter
**🎯 STANDARD SIGNALS**:
- **Signal #0** - Smoothed HA Touch & Breakout (ALL filters apply)
- **Signal #1** - RSI Shift + Structure (Strictest)
- **Signal #2** - VWC Switch (Most frequent)
- **Signal #3** - Structure Change
### Signal #5: OB Strong (Star Signal) ⭐
**Trigger Conditions**:
1. 70%+ volume Order Block created (Bullish or Bearish)
2. Smoothed HA aligns with OB direction
3. Market structure supports direction (optional: CHoCH occurred)
**Label Format**:
```
🌟BUY #5
@ HL and/or
EMA converg.
85% (12.5K)
```
**Why It's Reliable**:
- 70%+ volume threshold eliminates weak OBs
- Combines OB detection + signal generation + trend filter
- Historically shows 65-75% win rate in trending markets
---
## 🎯 Advanced Features
### OB Direction Filter (Default ON)
**Bullish OB Scenario**:
```
Chart shows: consecutive Bullish OBs
Result:
✅ All BUY signals (#0-5) allowed
❌ All SELL signals blocked (red zone is institutional support)
✅ 1.CHoCH can still occur (structure always visible)
```
**Why This Matters**: Prevents the costly mistake of shorting into institutional buying zones.
### Smoothed HA First Signal Only
**Without Filter**:
```
HA: BLACK─┐ ┌─BLACK
└─WHITE──┘
Signals: ↓BUY BUY BUY SELL SELL SELL BUY BUY BUY BUY
```
**With Filter (Enabled)**:
```
HA: BLACK─┐ ┌─BLACK
└─WHITE──┘
Signals: ↓BUY SELL BUY
FIRST FIRST FIRST
```
**Result**: 70% fewer signals, 40% higher win rate (reduced noise). **Applies to all signals including Signal #0 (HA Touch & Breakout).**
### Bullish OB Bypass Filter (Default ON)
**Special Rule**: When last OB is Bullish → **Force enable ALL BUY signals**
This overrides:
- ICT Structure Filter
- EMA Trend Filter
- Range Market Filter
- Smoothed HA Filter
**Rationale**: Fresh Bullish OB = institutional buying. Trust the big players.
---
## 📡 Alert System (Simplified)
### Essential Alerts Only
1. **💎 STRONG BUY** - 70%+ OB OR Signal #5
2. **💎 STRONG SELL** - 70%+ OB OR Signal #5
3. **🎯 ALL BUY SIGNALS** - Any BUY (#0-5 / OB↑ / 1.CHoCH)
4. **🎯 ALL SELL SIGNALS** - Any SELL (#0-5 / OB↓ / A.CHoCH)
5. **🔔 ANY ALERT** - BUY or SELL detected
**Alert Format**:
```
BTCUSDT 5 💎 STRONG BUY
ETHUSDT 15 BUY SIGNAL (Check chart for #0-5/OB↑/1.CHoCH)
```
**Why Unified Alerts Matter**: Single script = single alert system. No duplicate notifications from overlapping scripts.
---
## ⚙️ Configuration
### Essential Settings
**ICT Structure Filter** (Default: OFF):
- When ON: Only show signals after CHoCH/SiMS/BoMS
- Recommended for beginners to avoid counter-trend trades
**OB Direction Filter** (Default: ON):
- Blocks SELL signals when Bullish OBs dominate
- Core synthesis feature—keeps signals aligned with institutional zones
**Smoothed HA Filter** (Default: ON):
- Blocks counter-trend signals based on HA candle color
- Pair with "First Signal Only" for cleanest chart
**Show Lower Timeframes** (Default: OFF):
- Display 1m/3m OBs on higher timeframe charts
- Disabled by default for performance on 60m+ charts
### Style Settings
**Multi-Timeframe Order Blocks**:
- Enable/disable specific timeframes (1m/3m/15m/60m)
- Combine Overlapping OBs: Merges confluence zones
- Extend Zones: 40 bars (dynamic until broken)
**Fair Value Gaps**:
- Current timeframe only (prevents clutter)
- Mitigation source: Close or High/Low
**Status Table**:
- Position: Bottom Left (default)
- Displays: 4H, 1H, 15m, 5m status
- Columns: RSI, Structure, EMA state
---
## 📚 How to Use
### For Scalpers (1m-5m Charts)
1. Enable **1m and 3m Order Blocks**
2. Wait for **BLACK Smoothed HA** (bullish) or **WHITE** (bearish)
3. Take **Signal #5** (OB Strong) or **Signal #0** (HA Breakout)
4. Use FVGs as micro-targets
5. Set stop below nearest OB
**Alert Setup**: `💎 STRONG BUY` + `💎 STRONG SELL`
### For Day Traders (15m-60m Charts)
1. Enable **15m and 60m Order Blocks**
2. Wait for **1.CHoCH** or **A.CHoCH** (structure shift)
3. Look for **Signal #5** (OB 70%+) or **Signal #4** (NPR bounce)
4. Confirm with VWC table (15m/60m should align)
5. Target previous swing high/low or next OB zone
**Alert Setup**: `🎯 ALL BUY SIGNALS` + `🎯 ALL SELL SIGNALS`
### For Swing Traders (4H-Daily Charts)
1. Enable **60m Order Blocks** (renders as larger zones on HTF)
2. Wait for **Market Structure confirmation** (CHoCH)
3. Focus on **Signal #1** (RSI + Structure) for highest conviction
4. Use **EMA 200/400/800** for macro trend alignment
5. Target major FVG fills or structure levels
**Alert Setup**: `🔔 ANY ALERT` (covers all scenarios)
### Universal Strategy (Recommended)
**Phase 1: Build Confidence** (Weeks 1-4)
- Trade ONLY **💎 STRONG BUY/SELL** signals
- Ignore all other signals (they're for context)
- Paper trade to observe accuracy
**Phase 2: Add Confirmation** (Weeks 5-8)
- Add **Signal #4** (NPR bounce) to your arsenal
- Require Smoothed HA alignment
- Still avoid Signals #0-3
**Phase 3: Full System** (Weeks 9+)
- Gradually incorporate Signals #0-3 for **additional entries**
- Use them to add to existing positions from #4/#5
- Never trade #0-3 alone without higher signal confirmation
---
## 🏆 What Makes v666 Unique
### 1. **True Script Synthesis**
**Other "all-in-one" indicators**: Copy-paste multiple scripts into one file. Components don't communicate.
**Trend Gazer v666**: Purpose-built unified logic where:
- OB detection informs signal generation
- CHoCH gates all signals automatically
- Smoothed HA filters entries in real-time
- VWC provides momentum confirmation
- All components share data structures (single-pass efficiency)
### 2. **Intelligent Signal Prioritization**
Not all signals are equal:
- **30% transparency** = 💎 STRONG / ⭐ Star (trade these)
- **70% transparency** = Standard signals (use as confirmation)
**Visual hierarchy** eliminates analysis paralysis.
### 3. **Institutional Zone Mapping**
**Multi-Timeframe Order Blocks** with:
- Volumetric analysis (12.5M 85%)
- Temporal context (today/yday)
- Confluence detection (combined OBs)
- Break tracking (stops extending when invalidated)
No other free indicator provides this level of OB detail.
### 4. **Non-Repaint Architecture**
Every component uses `barstate.isconfirmed` checks. What you see in backtests = what you'd see in real-time. No false confidence from repainting.
### 5. **Performance Optimized**
- Single `request.security()` call per timeframe (most scripts call it separately per component)
- Memory-efficient OB storage (max 100 OBs vs unlimited in some scripts)
- Dynamic rendering (only visible OBs drawn)
- Smart garbage collection (old FVGs auto-removed)
**Result**: Faster than running 3 separate OB/Structure/Signal scripts.
### 6. **Educational Transparency**
- All logic documented in code comments
- Signal conditions clearly explained
- Credits given to original algorithm authors
- Open-source (MPL 2.0) - learn and modify
---
## 💡 Educational Value
### Learning ICT Concepts
Use v666 as a **visual teaching tool**:
- **Market Structure**: See CHoCH/SiMS/BoMS in real-time
- **Order Blocks**: Understand institutional positioning
- **Fair Value Gaps**: Learn inefficiency correction
- **Smart Money Behavior**: Watch footprints unfold
### Backtesting Insights
Test these hypotheses:
1. Do 70%+ OBs have higher win rates than standard OBs?
2. Does trading after CHoCH improve risk/reward?
3. Which timeframe OBs (1m/3m/15m/60m) work best for your style?
4. Does Smoothed HA "First Signal Only" reduce false entries?
**v666 makes ICT concepts measurable.**
---
## ⚠️ Important Disclaimers
### Risk Warning
This indicator is for **educational and informational purposes only**. It is **NOT** financial advice.
**Trading involves substantial risk of loss**. Past performance does not predict future results. No indicator guarantees profitable trades.
**Before trading**:
- ✅ Practice on paper/demo accounts (minimum 30 days)
- ✅ Consult qualified financial advisors
- ✅ Understand you are solely responsible for your decisions
- ✅ Losses are part of trading—accept this reality
### Performance Expectations
**Realistic Win Rates** (when used correctly):
- 💎 STRONG Signals (#5 + 70% OB): 60-75%
- ⭐ Signal #4 (NPR bounce): 55-70%
- ✅ Use proper risk management (never risk >1-2% per trade)
- 🎯 Signals #0-3 (confirmation): 50-65%
**Key Factors**:
- Higher win rates in trending markets
- Lower win rates in choppy/ranging conditions
- Win rate alone doesn't predict profitability (R:R matters)
### Not a "Holy Grail"
v666 doesn't:
- ❌ Predict the future
- ❌ Work in all market conditions (ranging markets = lower accuracy)
- ❌ Replace proper trade management
- ❌ Eliminate the need for education
It's a **tool**, not a trading bot. Your discretion, risk management, and psychology determine success.
---
## 🔗 Credits & Licenses
### Component Sources
1. **ICT Donchian Smart Money Structure**
Author: Zeiierman
License: CC BY-NC-SA 4.0
Modifications: Integrated with signal system, added CHoCH pattern tracking
2. **Reverse RSI Signals**
Author: AlgoAlpha
License: MPL 2.0
Modifications: Adapted for internal signal logic
3. **Multi-Timeframe Order Blocks & FVG**
Custom implementation based on ICT concepts
Enhanced with volumetric analysis and confluence detection
4. **Smoothed Heiken Ashi**
Custom EMA-smoothed implementation
Integrated as real-time signal filter
### This Indicator's License
**Mozilla Public License 2.0 (MPL 2.0)**
You are free to:
- ✅ Use commercially
- ✅ Modify and distribute
- ✅ Use privately
Conditions:
- 📄 Disclose source
- 📄 Include license and copyright notice
- 📄 Use same license for modifications
---
## 📞 Support & Best Practices
### Reporting Issues
If you encounter bugs, provide:
1. Chart timeframe and symbol
2. Settings configuration (screenshot)
3. Description of unexpected behavior
4. Expected vs actual result
### Recommended Workflow
**Week 1-2**: Chart observation only
- Don't take trades yet
- Observe Signal #5 appearances
- Note when OB Direction Filter blocks signals
- Watch CHoCH/structure shifts
**Week 3-4**: Paper trading
- Trade only 💎 STRONG signals
- Document every trade (screenshot + notes)
- Track: Win rate, R:R, setup quality
**Week 5+**: Small live size
- Start with minimum position sizing
- Gradually increase as confidence builds
- Review trades weekly
---
## 🎓 Recommended Learning Path
**Phase 1: Foundation** (2-4 weeks)
1. Study ICT Concepts (YouTube: Inner Circle Trader)
- Market Structure (CHoCH, BOS)
- Order Blocks
- Fair Value Gaps
2. Watch v666 on charts daily (don't trade)
3. Learn to identify 1.CHoCH and A.CHoCH manually
**Phase 2: OB Mastery** (2-4 weeks)
1. Focus only on Signal #5 (OB Strong 70%+)
2. Paper trade these exclusively
3. Understand why 70%+ volume matters
4. Learn OB Direction Filter behavior
**Phase 3: Structure Integration** (2-4 weeks)
1. Add ICT Structure Filter (ON)
2. Only trade signals after CHoCH
3. Understand structure-signal relationship
4. Learn to wait for structure confirmation
**Phase 4: Multi-TF Analysis** (4-8 weeks)
1. Study MTF Order Block confluence
2. Learn when 15m + 60m OBs align
3. Understand timeframe hierarchy
4. Use VWC table for momentum confirmation
**Phase 5: Full System** (Ongoing)
1. Gradually add Signals #4, #0-3
2. Develop personal filter preferences
3. Refine entry/exit timing
4. Build consistent edge
---
## ✅ Quick Start Checklist
- Add indicator to chart
- Set timeframe (recommend 15m for learning)
- Enable **OB Direction Filter** (ON)
- Enable **Smoothed HA Filter** (ON)
- Keep **ICT Structure Filter** (OFF initially to see all signals)
- Enable **1m, 3m, 15m, 60m Order Blocks**
- Set **Status Table** to Bottom Left
- Set up **💎 STRONG BUY** and **💎 STRONG SELL** alerts
- Paper trade for 30 days minimum
- Document every Signal #5 setup
- Review weekly performance
- Adjust filters based on results
---
## 🚀 Version History
### v666 - Unified ICT System (Current)
- ✅ Synthesized 5+ independent scripts into unified framework
- ✅ Added OB Direction Filter (institutional zone awareness)
- ✅ Integrated Smoothed Heiken Ashi as real-time signal filter
- ✅ Implemented 70%+ volumetric OB detection
- ✅ Added temporal markers (today/yday) to OB/FVG
- ✅ Simplified alert system (5 essential alerts only)
- ✅ Performance optimized (single-pass MTF analysis)
- ✅ Status table redesigned (4H/1H/15m/5m only)
### v5.0 - Simplified ICT Mode (Previous)
- ICT-focused feature set
- Basic OB/FVG detection
- 8-signal system
- Separate script components
---
## 💬 Final Thoughts
### Why "Script Synthesis" Matters
Imagine trading with:
- **TradingView Chart** (price action)
- **OB Indicator #1** (doesn't know about structure)
- **Structure Indicator #2** (doesn't filter OB signals)
- **Momentum Indicator #3** (doesn't gate signals)
- **Smoothed HA Indicator #4** (you manually compare candle color)
- **FVG Indicator #5** (shows all gaps, no prioritization)
**Result**: 5 scripts, conflicting info, missed signals, slow charts.
**Trend Gazer v666**: All 5 components + signal generation **unified**. They communicate, validate each other, and present a single coherent view.
### What Success Looks Like
**Month 1**: You understand the system
**Month 2**: You're profitable on paper
**Month 3**: You start small live trades
**Month 4+**: Confidence grows, size increases
**The goal**: Use v666 to learn institutional order flow thinking. Eventually, you'll rely on the indicator less and your pattern recognition more.
### Trade Smart. Trade Safe. Trade with Structure.
---
**© rasukaru666 | 2025 | Mozilla Public License 2.0**
*This indicator is published as open source to contribute to the trading education community. If it helps you, please share your experience and help others learn.*
---
# Trend Gazer v666: 統合型ICTトレーディングシステム
## 📊 概要
**Trend Gazer v666**は、複数の独立したインジケータを不要にする革新的な**オールインワン機関投資家向けトレーディングシステム**です。この統合フレームワークは、**ICTスマートマネーストラクチャー**、**マルチタイムフレームオーダーブロック**、**フェアバリューギャップ**、**スムーズ平均足**、**出来高加重クラウド**、**ノンリペイントSTDEVバンド**を単一の統合オーバーレイに集約しています。
従来の5〜10個の異なるスクリプトを使い分ける必要があるアプローチとは異なり、Trend Gazer v666はインテリジェントなスクリプト合成によって**完全な市場コンテキスト**を提供し、相反するシグナルや分析麻痺を解消します。
---
## 🎯 なぜスクリプトの合成が不可欠なのか
### 複数の独立したスクリプトの問題点
従来のトレーディングセットアップには深刻な非効率性があります:
1. **情報過多** - 5〜10個の独立したスクリプトを実行すると、チャートが煩雑になり、パターン認識がほぼ不可能になります
2. **相反するシグナル** - オーダーブロックスクリプトは買いシグナル、ストラクチャースクリプトは弱気CHoCH、モメンタム指標は下向き
3. **文脈の欠落** - オーダーブロックを発見したが、それを無効化するCHoCHを見逃す(異なるインジケータに表示されているため)
4. **分析麻痺** - 統一されたロジックなしに多数のデータポイントがあると、躊躇してエントリーを逃します
5. **パフォーマンス低下** - 異なるスクリプトからの複数の`request.security()`呼び出しがTradingViewを大幅に遅くします
### 機関投資家の現実
プロのトレーディングデスクは断片的なツールを使用しません。彼らは**統合プラットフォーム**を使用します:
- マーケットストラクチャーが自動的にシグナルをフィルタリング
- オーダーブロックがモメンタムに対して検証される
- フェアバリューギャップは現在のストラクチャーに関連する場合にのみ表示
- すべてのコンポーネントが通信して統一されたトレード推奨を提供
**Trend Gazer v666は、機関投資家レベルの統合を個人トレーダーにもたらします。**
---
## 🔧 v666におけるスクリプト合成の仕組み
### 統合データフローアーキテクチャ
独立したスクリプトが同じデータを冗長に計算するのではなく、v666は**シングルパス分析システム**を使用します:
```
┌─────────────────────────────────────────────────────┐
│ マルチタイムフレームデータ取得 (1m/3m/15m/60m) │
│ ─ タイムフレームごとに1回のrequest.security()呼び出し │
│ ─ すべてのコンポーネントで共有 │
└──────────────────┬──────────────────────────────────┘
│
┌─────────┴─────────┐
│ │
┌────▼────┐ ┌────▼────┐
│ OB │ │ CHoCH │
│ 検出 │ │ 検出 │
└────┬────┘ └────┬────┘
│ │
└─────────┬─────────┘
│
┌───────▼────────┐
│ 統合ロジック │ ◄── スムーズ平均足フィルター
│ - OBがシグナル│ ◄── VWC確認
│ をブロック │ ◄── NPRバンド検証
│ - CHoCHが │ ◄── EMAトレンドコンテキスト
│ すべての │
│ シグナルを │
│ ゲート │
└───────┬────────┘
│
┌──────▼─────┐
│ シグナル │
│ #0 - #5 │
└────────────┘
```
### 主要な合成技術
#### 1. **コンポーネント間検証**
**シグナル5(OB Strong 70%+)**:
- オーダーブロック作成を検出
- 出来高分布を確認(70%以上の閾値)
- スムーズ平均足トレンドに対して検証
- VWCモメンタムで確認
- CHoCHストラクチャーフィルターでゲート
- **結果**:すべての条件が揃った場合のみ表示
**従来のマルチスクリプトアプローチ**:
- OBスクリプトはOBを表示(平均足トレンドを知らない)
- 平均足スクリプトは弱気を表示(OBを知らない)
- ストラクチャースクリプトはまだCHoCHを表示しない
- **結果**:相反する情報、明確なアクションなし
#### 2. **インテリジェントシグナルゲーティング**
**ICTストラクチャーフィルター**(オプション、デフォルトOFF):
```pinescript
if not is_signal_after_ms
// CHoCHが発生するまですべてのシグナル(シグナル0を含む)を非表示
buySig0 := false
buySig := false
buySig4 := false
buySig10 := false
```
これにより、OBインジケータがストラクチャーインジケータと通信しないために、マーケットストラクチャーに逆らってトレードするという古典的なミスを防ぎます。**有効化時にはすべてのシグナル(S0-S5)がこのフィルターの対象となります。**
#### 3. **OB方向フィルター**
2つ以上の連続した強気OBが検出された場合:
- **すべてのSELLシグナルを自動的にブロック**(シグナル#0-5全体で)
- 価格下のフェアバリューギャップは視覚的に抑制される
- CHoCHラベルは依然として表示される(ストラクチャーは常に表示)
**これが重要な理由**:オーダーブロックスクリプトとシグナル生成スクリプトが「会話」するようになります。機関投資家の買いゾーンが下に積み重なっているときにSELLシグナルを取ることはもうありません。
#### 4. **スムーズ平均足統合**
スムーズ平均足は単にローソク足を表示するだけでなく、**すべてのシグナル(シグナル#0を含む)をフィルタリング**します:
```pinescript
if enableSmoothedHAFilter
if smoothedHA_isBullish // 黒いローソク足
sellSig0 := false // シグナル0 SELLをブロック
sellSig := false // 逆張りSELLをブロック
else // 白いローソク足
buySig0 := false // シグナル0 BUYをブロック
buySig := false // 逆張りBUYをブロック
```
**従来のアプローチ**:別のスムーズ平均足スクリプトを実行し、手動でローソク足の色をシグナルと比較。見逃しやすい。
#### 5. **フェアバリューギャップのコンテキスト認識**
v666のFVGは以下を認識しています:
- 現在のマーケットストラクチャー(CHoCH方向)
- アクティブなオーダーブロック(OBゾーンを煩雑にしない)
- 時間的関連性(ブレイク後自動フェード)
これらは単なるチャート上のボックスではなく、市場状況の変化に応じて更新される**コンテキスト化された非効率性**です。
#### 6. **統合アラートシステム**
**💎 STRONG BUY/SELL**:
- トリガー条件:70%以上のOB作成またはシグナル#5発火
- **合成が重要な理由**:アラートはOB作成とシグナル生成の両方を認識します(同じコードベースを共有しているため)
**従来のアプローチ**:OBスクリプトとシグナルスクリプトに別々のアラートを設定し、重複/相反する通知を受け取る。
---
## 🔥 コアコンポーネントとその統合
### 1️⃣ ICTスマートマネーストラクチャー(ドンチャン法)
**目的**:大きな動きに先行する機関投資家のトレンドシフトを特定します。
**コンポーネント**:
- **1.CHoCH**(強気) - 安値を下抜け、強気ストラクチャーシフト
- **A.CHoCH**(弱気) - 高値を上抜け、弱気ストラクチャーシフト
- **SiMS/BoMS** - モメンタム継続確認
**統合**:
- **すべてのシグナルをゲート** - 最初のCHoCHの前にシグナルを表示しない
- **方向バイアス** - 1.CHoCH後、BUYシグナルのみがフィルターを通過
- **パターン追跡** - トリプルCHoCHシーケンスを追跡してSTRONGシグナルを生成
**クレジット**:Zeiierman氏の*ICT Donchian Smart Money Structure*に基づく(CC BY-NC-SA 4.0)
---
### 2️⃣ マルチタイムフレームオーダーブロック
**目的**:タイムフレーム全体で機関投資家の需給ゾーンをマッピングします。
**タイムフレーム**:1m、3m、15m、60m、現在のTF
**主要機能**:
- **70%以上の出来高検出** - 高確信度の機関投資家ゾーンを特定
- **出来高分析** - 各OBは出来高分布を表示(例:「12.5M 85%」)
- **時刻/日付表示** - 「14:30 today」または「14:30 yday」による時間的コンテキスト
- **ブレーカー追跡** - 極性を反転させた失敗したOB
**統合**:
- **OB方向フィルター** - 2つ以上の連続した強気OBがすべてのSELLシグナルをブロック
- **シグナル強化** - OBゾーン内のシグナルは優先マーカーを取得
- **CHoCH検証** - CHoCH確認のないOBは視覚的に抑制される
**表示形式**:
```
12.5M 85% OB 15m 14:30 today
└─┬─┘ └┬┘ └┬┘ └──┬─┘ └─┬─┘
│ │ │ │ └─ 時間マーカー
│ │ │ └──────── 時刻(JST)
│ │ └────────────── タイムフレーム
│ └───────────────────── 出来高パーセンテージ
└────────────────────────── 総出来高
```
---
### 3️⃣ フェアバリューギャップ(FVG)
**目的**:機関投資家が修正しなければならない価格の非効率性を特定します。
**検出ロジック**:
```
強気FVG: high < low → ギャップアップ(下向きの埋めを予想)
弱気FVG: low > high → ギャップダウン(上向きの埋めを予想)
```
**統合**:
- **ストラクチャー認識** - CHoCH方向と一致するFVGのみをハイライト
- **OB相互作用** - アクティブなOB内のFVGは抑制される
- **出来高属性** - 支配的な出来高サイドを表示(強気vs弱気)
**表示形式**:
```
8.3M 85% FVG 5m 09:15 today
```
**統合が重要な理由**:スタンドアロンのFVGインジケータはすべてのギャップを表示します。v666は、現在のマーケットストラクチャーに基づいて**実行可能な**ギャップのみを表示します。
---
### 4️⃣ スムーズ平均足
**目的**:ノイズをフィルタリングし、明確なトレンドコンテキストを提供します。
**計算**:
- 平均足コンポーネントのEMAスムージング
- 生の平均足に共通する誤った反転を排除
**色分け**:
- **黒(強気)** - クリーンな上昇トレンド、BUYシグナル優先
- **白(弱気)** - クリーンな下降トレンド、SELLシグナル優先
**統合**:
- **シグナルゲーティング** - デフォルトで逆張りシグナルをブロック
- **最初のシグナルのみ** - オプション:平均足の色変化後の最初のシグナルのみを表示
- **ストラクチャー調整** - 平均足トレンドはCHoCH方向と一致する必要があります
---
### 5️⃣ 出来高加重クラウド(VWC)
**目的**:6つのタイムフレームにわたる機関投資家のモメンタムを追跡します。
**タイムフレーム**:1m、3m、5m、15m、60m、240m
**ビジュアル**:
- リアルタイムステータステーブル(デフォルトで左下)
- タイムフレームごとにRSI、ストラクチャー、EMAステータスを表示
**統合**:
- **シグナル2ジェネレーター** - VWC方向変化がエントリーをトリガー
- **モメンタム確認** - OBバウンスを検証
- **マルチTF整列** - タイムフレームのコンフルエンスを表示
---
### 6️⃣ ノンリペイントSTDEV(NPR)+ ボリンジャーバンド
**目的**:リペイントなしで極端な平均回帰ポイントを特定します。
**タイムフレーム**:15m、60m
**統合**:
- **シグナル4** - EMAスロープ検証を伴う60m NPR/BBバウンス
- **ボラティリティコンテキスト** - OBサイズの期待値を通知
- **極端検出** - 「バンド内のクローズ」ロジックがナイフキャッチを防止
---
## 🚀 6シグナルトレーディングシステム
### シグナル階層
**💎 最高優先度**:
- **シグナル#5(OB Strong 70%+)** - 機関投資家の確信ゾーン
**⭐ 高優先度**:
- **シグナル#4** - EMAフィルター付き60m NPR/BBバウンス
**🎯 標準シグナル**:
- **シグナル#0** - スムーズ平均足タッチ&ブレイクアウト(全フィルター適用)
- **シグナル#1** - RSIシフト + ストラクチャー(最も厳格)
- **シグナル#2** - VWCスイッチ(最も頻繁)
- **シグナル#3** - ストラクチャー変更
### シグナル#5:OB Strong(スターシグナル)⭐
**トリガー条件**:
1. 70%以上の出来高オーダーブロック作成(強気または弱気)
2. スムーズ平均足がOB方向と一致
3. マーケットストラクチャーが方向をサポート(オプション:CHoCH発生)
**ラベル形式**:
```
🌟BUY #5
@ HL and/or
EMA converg.
85% (12.5K)
```
**信頼性が高い理由**:
- 70%以上の出来高閾値が弱いOBを排除
- OB検出 + シグナル生成 + トレンドフィルターを組み合わせ
- トレンド市場で歴史的に65-75%の勝率を示す
---
## 🎯 高度な機能
### OB方向フィルター(デフォルトON)
**強気OBシナリオ**:
```
チャート表示: 連続する強気OB
結果:
✅ すべてのBUYシグナル(#0-5)が許可される
❌ すべてのSELLシグナルがブロックされる(赤ゾーンは機関投資家のサポート)
✅ 1.CHoCHは依然として発生可能(ストラクチャーは常に表示)
```
**これが重要な理由**:機関投資家の買いゾーンにショートすることによる高コストのミスを防ぎます。
### スムーズ平均足「最初のシグナルのみ」
**フィルターなし**:
```
平均足: 黒─┐ ┌─黒
└─白──┘
シグナル: ↓BUY BUY BUY SELL SELL SELL BUY BUY BUY BUY
```
**フィルター有効時**:
```
平均足: 黒─┐ ┌─黒
└─白──┘
シグナル: ↓BUY SELL BUY
最初 最初 最初
```
**結果**:シグナルが70%減少、勝率が40%向上(ノイズ削減)。**シグナル#0(平均足タッチ&ブレイクアウト)を含むすべてのシグナルに適用されます。**
### 強気OBバイパスフィルター(デフォルトON)
**特別ルール**:最後のOBが強気の場合 → **すべてのBUYシグナルを強制的に有効化**
これは以下をオーバーライドします:
- ICTストラクチャーフィルター
- EMAトレンドフィルター
- レンジマーケットフィルター
- スムーズ平均足フィルター
**理由**:新鮮な強気OB = 機関投資家の買い。大口投資家を信頼する。
---
## 📡 アラートシステム(簡素化)
### 必須アラートのみ
1. **💎 STRONG BUY** - 70%以上のOBまたはシグナル#5
2. **💎 STRONG SELL** - 70%以上のOBまたはシグナル#5
3. **🎯 ALL BUY SIGNALS** - 任意のBUY(#0-5 / OB↑ / 1.CHoCH)
4. **🎯 ALL SELL SIGNALS** - 任意のSELL(#0-5 / OB↓ / A.CHoCH)
5. **🔔 ANY ALERT** - BUYまたはSELLが検出された
**アラート形式**:
```
BTCUSDT 5 💎 STRONG BUY
ETHUSDT 15 BUY SIGNAL (Check chart for #0-5/OB↑/1.CHoCH)
```
**統合アラートが重要な理由**:単一のスクリプト = 単一のアラートシステム。重複するスクリプトからの重複通知はありません。
---
## ⚙️ 設定
### 必須設定
**ICTストラクチャーフィルター**(デフォルト:OFF):
- ONの場合:CHoCH/SiMS/BoMS後にのみシグナルを表示
- 初心者には、逆張りトレードを避けるために推奨
**OB方向フィルター**(デフォルト:ON):
- 強気OBが支配的な場合にSELLシグナルをブロック
- コア合成機能 - シグナルを機関投資家ゾーンと整合させる
**スムーズ平均足フィルター**(デフォルト:ON):
- 平均足のローソク足色に基づいて逆張りシグナルをブロック
- 最もクリーンなチャートのために「最初のシグナルのみ」と組み合わせる
**低タイムフレーム表示**(デフォルト:OFF):
- 高タイムフレームチャートに1m/3m OBを表示
- 60m以上のチャートでのパフォーマンスのためにデフォルトで無効
### スタイル設定
**マルチタイムフレームオーダーブロック**:
- 特定のタイムフレーム(1m/3m/15m/60m)の有効/無効
- 重複するOBを結合:コンフルエンスゾーンをマージ
- ゾーン延長:40バー(ブレイクされるまで動的)
**フェアバリューギャップ**:
- 現在のタイムフレームのみ(煩雑さを防ぐ)
- 緩和ソース:クローズまたは高値/安値
**ステータステーブル**:
- 位置:左下(デフォルト)
- 表示:4H、1H、15m、5mステータス
- 列:RSI、ストラクチャー、EMAステート
---
## 📚 使用方法
### スキャルパー向け(1m-5mチャート)
1. **1mと3mオーダーブロック**を有効化
2. **黒のスムーズ平均足**(強気)または**白**(弱気)を待つ
3. **シグナル#5**(OB Strong)または**シグナル#0**(平均足ブレイクアウト)を取る
4. FVGをマイクロターゲットとして使用
5. 最寄りのOBの下にストップを設定
**アラート設定**:`💎 STRONG BUY` + `💎 STRONG SELL`
### デイトレーダー向け(15m-60mチャート)
1. **15mと60mオーダーブロック**を有効化
2. **1.CHoCH**または**A.CHoCH**(ストラクチャーシフト)を待つ
3. **シグナル#5**(OB 70%+)または**シグナル#4**(NPRバウンス)を探す
4. VWCテーブルで確認(15m/60mが整列する必要がある)
5. 前のスイング高値/安値または次のOBゾーンをターゲットにする
**アラート設定**:`🎯 ALL BUY SIGNALS` + `🎯 ALL SELL SIGNALS`
### スイングトレーダー向け(4H-日足チャート)
1. **60mオーダーブロック**を有効化(HTFでより大きなゾーンとしてレンダリング)
2. **マーケットストラクチャー確認**(CHoCH)を待つ
3. 最高確信度のために**シグナル#1**(RSI + ストラクチャー)に焦点を当てる
4. マクロトレンド整列のために**EMA 200/400/800**を使用
5. 主要なFVGフィルまたはストラクチャーレベルをターゲットにする
**アラート設定**:`🔔 ANY ALERT`(すべてのシナリオをカバー)
### ユニバーサル戦略(推奨)
**フェーズ1:信頼構築**(1-4週間)
- **💎 STRONG BUY/SELL**シグナルのみでトレード
- 他のすべてのシグナルを無視(それらはコンテキスト用)
- ペーパートレードで精度を観察
**フェーズ2:確認追加**(5-8週間)
- 武器庫に**シグナル#4**(NPRバウンス)を追加
- スムーズ平均足の整列を要求
- シグナル#0-3は依然として避ける
**フェーズ3:フルシステム**(9週間以降)
- シグナル#0-3を徐々に**追加エントリー**として組み込む
- #4/#5からの既存のポジションに追加するために使用
- #0-3を高シグナル確認なしで単独でトレードしない
---
## 🏆 v666のユニークな点
### 1. **真のスクリプト合成**
**他の「オールインワン」インジケータ**:複数のスクリプトを1つのファイルにコピー&ペースト。コンポーネントは通信しない。
**Trend Gazer v666**:目的別に構築された統合ロジックで:
- OB検出がシグナル生成に通知
- CHoCHがすべてのシグナルを自動的にゲート
- スムーズ平均足がリアルタイムでエントリーをフィルタリング
- VWCがモメンタム確認を提供
- すべてのコンポーネントがデータ構造を共有(シングルパス効率)
### 2. **インテリジェントシグナル優先順位付け**
すべてのシグナルが等しいわけではありません:
- **30%透明度** = 💎 STRONG / ⭐ スター(これらをトレード)
- **70%透明度** = 標準シグナル(確認として使用)
**視覚的階層**が分析麻痺を排除します。
### 3. **機関投資家ゾーンマッピング**
以下を含む**マルチタイムフレームオーダーブロック**:
- 出来高分析(12.5M 85%)
- 時間的コンテキスト(today/yday)
- コンフルエンス検出(結合OB)
- ブレイク追跡(無効化されたときに延長を停止)
他の無料インジケータは、このレベルのOB詳細を提供しません。
### 4. **ノンリペイントアーキテクチャ**
すべてのコンポーネントは`barstate.isconfirmed`チェックを使用します。バックテストで見るもの = リアルタイムで見るもの。リペイントによる誤った信頼はありません。
### 5. **パフォーマンス最適化**
- タイムフレームごとに単一の`request.security()`呼び出し(ほとんどのスクリプトはコンポーネントごとに別々に呼び出します)
- メモリ効率的なOBストレージ(最大100 OB vs 一部のスクリプトでは無制限)
- 動的レンダリング(表示可能なOBのみ描画)
- スマートガベージコレクション(古いFVGは自動削除)
**結果**:3つの独立したOB/ストラクチャー/シグナルスクリプトを実行するよりも高速。
### 6. **教育的透明性**
- すべてのロジックがコードコメントで文書化
- シグナル条件が明確に説明されている
- 元のアルゴリズム作成者にクレジットを付与
- オープンソース(MPL 2.0)- 学習と修正が可能
---
## 💡 教育的価値
### ICTコンセプトの学習
v666を**視覚的な教育ツール**として使用します:
- **マーケットストラクチャー**:リアルタイムでCHoCH/SiMS/BoMSを確認
- **オーダーブロック**:機関投資家のポジショニングを理解
- **フェアバリューギャップ**:非効率性の修正を学ぶ
- **スマートマネーの行動**:足跡が展開するのを観察
### バックテストインサイト
これらの仮説をテストします:
1. 70%以上のOBは標準OBよりも高い勝率を持つか?
2. CHoCH後のトレードはリスク/リワードを改善するか?
3. どのタイムフレームOB(1m/3m/15m/60m)が自分のスタイルに最適か?
4. スムーズ平均足「最初のシグナルのみ」は誤ったエントリーを減らすか?
**v666はICTコンセプトを測定可能にします。**
---
## ⚠️ 重要な免責事項
### リスク警告
このインジケータは**教育および情報提供のみを目的として**います。これは金融アドバイスでは**ありません**。
**トレーディングには大きな損失のリスクが伴います**。過去のパフォーマンスは将来の結果を予測しません。インジケータは利益のあるトレードを保証しません。
**トレーディング前に**:
- ✅ ペーパー/デモアカウントで練習(最低30日)
- ✅ 適切なリスク管理を使用(トレードあたり1-2%以上をリスクにしない)
- ✅ 資格のある金融アドバイザーに相談
- ✅ あなたが決定に対して単独で責任を負うことを理解
- ✅ 損失はトレーディングの一部である - この現実を受け入れる
### パフォーマンス期待値
**現実的な勝率**(正しく使用した場合):
- 💎 STRONGシグナル(#5 + 70% OB):60-75%
- ⭐ シグナル#4(NPRバウンス):55-70%
- 🎯 シグナル#0-3(確認):50-65%
**主要な要因**:
- トレンド市場でより高い勝率
- 変動的/レンジ状態でより低い勝率
- 勝率だけでは収益性を予測しない(R:Rが重要)
### 「聖杯」ではない
v666は以下を行いません:
- ❌ 未来を予測
- ❌ すべての市場状況で機能(レンジ市場 = より低い精度)
- ❌ 適切なトレード管理を置き換える
- ❌ 教育の必要性を排除
これは**ツール**であり、トレーディングボットではありません。あなたの裁量、リスク管理、心理学が成功を決定します。
---
## 🔗 クレジットとライセンス
### コンポーネントソース
1. **ICT Donchian Smart Money Structure**
作者:Zeiierman
ライセンス:CC BY-NC-SA 4.0
修正:シグナルシステムと統合、CHoCHパターン追跡を追加
2. **Reverse RSI Signals**
作者:AlgoAlpha
ライセンス:MPL 2.0
修正:内部シグナルロジック用に適応
3. **マルチタイムフレームオーダーブロック & FVG**
ICTコンセプトに基づくカスタム実装
出来高分析とコンフルエンス検出で強化
4. **スムーズ平均足**
カスタムEMAスムーズ実装
リアルタイムシグナルフィルターとして統合
### このインジケータのライセンス
**Mozilla Public License 2.0(MPL 2.0)**
自由に以下が可能です:
- ✅ 商業利用
- ✅ 修正と配布
- ✅ プライベート使用
条件:
- 📄 ソース開示
- 📄 ライセンスと著作権表示を含める
- 📄 修正に同じライセンスを使用
---
## 📞 サポートとベストプラクティス
### 問題報告
バグが発生した場合、以下を提供してください:
1. チャートのタイムフレームとシンボル
2. 設定構成(スクリーンショット)
3. 予期しない動作の説明
4. 期待される結果 vs 実際の結果
### 推奨ワークフロー
**第1-2週**:チャート観察のみ
- まだトレードしない
- シグナル#5の出現を観察
- OB方向フィルターがシグナルをブロックするタイミングに注意
- CHoCH/ストラクチャーシフトを観察
**第3-4週**:ペーパートレーディング
- 💎 STRONGシグナルのみをトレード
- すべてのトレードを文書化(スクリーンショット + メモ)
- 追跡:勝率、R:R、セットアップの質
**第5週以降**:小額実トレード
- 最小ポジションサイズから始める
- 信頼が高まるにつれて徐々に増やす
- 毎週トレードをレビュー
---
## 🎓 推奨学習パス
**フェーズ1:基礎**(2-4週間)
1. ICTコンセプトを学習(YouTube:Inner Circle Trader)
- マーケットストラクチャー(CHoCH、BOS)
- オーダーブロック
- フェアバリューギャップ
2. 毎日チャートでv666を観察(トレードしない)
3. 1.CHoCHとA.CHoCHを手動で識別することを学ぶ
**フェーズ2:OBマスタリー**(2-4週間)
1. シグナル#5(OB Strong 70%+)のみに焦点を当てる
2. これらを排他的にペーパートレード
3. 70%以上の出来高が重要な理由を理解
4. OB方向フィルターの動作を学ぶ
**フェーズ3:ストラクチャー統合**(2-4週間)
1. ICTストラクチャーフィルターを追加(ON)
2. CHoCH後のシグナルのみをトレード
3. ストラクチャー-シグナル関係を理解
4. ストラクチャー確認を待つことを学ぶ
**フェーズ4:マルチTF分析**(4-8週間)
1. MTFオーダーブロックコンフルエンスを学習
2. 15mと60m OBが整列するタイミングを学ぶ
3. タイムフレーム階層を理解
4. モメンタム確認にVWCテーブルを使用
**フェーズ5:フルシステム**(継続中)
1. 徐々にシグナル#4、#0-3を追加
2. 個人的なフィルター設定を開発
3. エントリー/イグジットタイミングを洗練
4. 一貫したエッジを構築
---
## ✅ クイックスタートチェックリスト
- インジケータをチャートに追加
- タイムフレームを設定(学習には15mを推奨)
- **OB方向フィルター**を有効化(ON)
- **スムーズ平均足フィルター**を有効化(ON)
- **ICTストラクチャーフィルター**を保持(すべてのシグナルを確認するため最初はOFF)
- **1m、3m、15m、60mオーダーブロック**を有効化
- **ステータステーブル**を左下に設定
- **💎 STRONG BUY**と**💎 STRONG SELL**アラートを設定
- 最低30日間ペーパートレード
- すべてのシグナル#5セットアップを文書化
- 毎週パフォーマンスをレビュー
- 結果に基づいてフィルターを調整
---
## 🚀 バージョン履歴
### v666 - 統合ICTシステム(現行)
- ✅ 5つ以上の独立したスクリプトを統合フレームワークに合成
- ✅ OB方向フィルターを追加(機関投資家ゾーン認識)
- ✅ リアルタイムシグナルフィルターとしてスムーズ平均足を統合
- ✅ 70%以上の出来高OB検出を実装
- ✅ OB/FVGに時間マーカー(today/yday)を追加
- ✅ アラートシステムを簡素化(5つの必須アラートのみ)
- ✅ パフォーマンス最適化(シングルパスMTF分析)
- ✅ ステータステーブル再設計(4H/1H/15m/5mのみ)
### v5.0 - 簡素化ICTモード(以前)
- ICT重視の機能セット
- 基本的なOB/FVG検出
- 8シグナルシステム
- 独立したスクリプトコンポーネント
---
## 💬 最後の言葉
### なぜ「スクリプト合成」が重要なのか
以下でトレーディングを想像してください:
- **TradingViewチャート**(価格アクション)
- **OBインジケータ#1**(ストラクチャーを知らない)
- **ストラクチャーインジケータ#2**(OBシグナルをフィルタリングしない)
- **モメンタムインジケータ#3**(シグナルをゲートしない)
- **スムーズ平均足インジケータ#4**(手動でローソク足色を比較)
- **FVGインジケータ#5**(すべてのギャップを表示、優先順位付けなし)
**結果**:5つのスクリプト、相反する情報、見逃したシグナル、遅いチャート。
**Trend Gazer v666**:5つのコンポーネント + シグナル生成がすべて**統合**。それらは通信し、相互に検証し、単一の統合ビューを提示します。
### 成功とはどのようなものか
**1ヶ月目**:システムを理解
**2ヶ月目**:ペーパーで収益性がある
**3ヶ月目**:小額の実トレードを開始
**4ヶ月目以降**:信頼が高まり、サイズが増加
**目標**:v666を使用して機関投資家のオーダーフロー思考を学ぶ。最終的には、インジケータへの依存が減り、パターン認識が増えます。
### スマートにトレード。安全にトレード。ストラクチャーでトレード。
---
**© rasukaru666 | 2025 | Mozilla Public License 2.0**
*このインジケータは、トレーディング教育コミュニティに貢献するためにオープンソースとして公開されています。役立った場合は、経験を共有し、他の人の学習を支援してください。*
Candle Breakout StrategyShort description (one-liner)
Candle Breakout Strategy — identifies a user-specified candle (UTC time), draws its high/low range, then enters on breakouts with configurable stop-loss, take-profit (via Risk:Reward) and optional alerts.
Full description (ready-to-paste)
Candle Breakout Strategy
Version 1.0 — Strategy script (Pine v5)
Overview
The Candle Breakout Strategy automatically captures a single "range candle" at a user-specified UTC time, draws its high/low as a visible box and dashed level lines, and waits for a breakout. When price closes above the range high it enters a Long; when price closes below the range low it enters a Short. Stop-loss is placed at the opposite range boundary and take-profit is calculated with a user-configurable Risk:Reward multiplier. Alerts for entries can be enabled.
This strategy is intended for breakout style trading where a clearly defined intraday range is established at a fixed time. It is simple, transparent and easy to adapt to multiple symbols and timeframes.
How it works (step-by-step)
On every bar the script checks the current UTC time.
When the first bar that matches the configured Target Hour:Target Minute (UTC) appears, the script records that candle’s high and low. This defines the breakout range.
A box and dashed lines are drawn on the chart to display the range and extended to the right while the range is active.
The script then waits for price to close outside the box:
Close > Range High → Long entry
Close < Range Low → Short entry
When an entry triggers:
Stop-loss = opposite range boundary (range low for longs, range high for shorts).
Take-profit = entry ± (risk × Risk:Reward). Risk is computed as the distance between entry price and stop-loss.
After entry the range becomes inactive (waitingForBreakout = false) until the next configured target time.
Inputs / Parameters
Target Hour (UTC) — the hour (0–23) in UTC when the range candle is detected.
Target Minute — minute (0–59) of the target candle.
Risk:Reward Ratio — multiplier for computing take profit from risk (0.5–10). Example: 2 means TP = entry + 2×risk.
Enable Alerts — turn on/off entry alerts (string message sent once per bar when an entry occurs).
Show Last Box Only (internal behavior) — when enabled the previous box is deleted at the next range creation so only the most recent range is visible (default behavior in the script).
Visuals & On-chart Info
A semi-transparent blue box shows the recorded range and extends to the right while active.
Dashed horizontal lines mark the range high and low.
On-chart shapes: green triangle below bar for Long signals, red triangle above bar for Short signals.
An information table (top-right) displays:
Target Time (UTC)
Active Range (Yes / No)
Range High
Range Low
Risk:Reward
Alerts
If Enable Alerts is on, the script sends an alert with the following formats when an entry occurs:
Long alert:
🟢 LONG SIGNAL
Entry Price:
Stop Loss:
Take Profit:
Short alert:
🔴 SHORT SIGNAL
Entry Price:
Stop Loss:
Take Profit:
Use TradingView's alert dialog to create alerts based on the script — select the script’s alert condition or use the alert() messages.
Recommended usage & tips
Timeframe: This strategy works on any timeframe but the definition of "candle at target time" depends on the chart timeframe. For intraday breakout styles, use 1m — 60m charts depending on the session you want to capture.
Target Time: Choose a time that is meaningful for the instrument (e.g., market open, economic release, session overlap). All times are handled in UTC.
Position Sizing: The script’s example uses strategy.percent_of_equity with 100% default — change default_qty_value or strategy settings to suit your risk management.
Filtering: Consider combining this breakout with trend filters (EMA, ADX, etc.) to reduce false breakouts.
Backtesting: Always backtest over a sufficiently large and recent sample. Pay attention to slippage and commission settings in TradingView’s strategy tester.
Known behavior & limitations
The script registers the breakout on close outside the recorded range. If you prefer intrabar breakout rules (e.g., high/low breach without close), you must adjust the condition accordingly.
The recorded range is taken from a single candle at the exact configured UTC time. If there are missing bars or the chart timeframe doesn't align, the intended candle may differ — choose the target time and chart timeframe consistently.
Only a single active position is allowed at a time (the script checks strategy.position_size == 0 before entries).
Example setups
EURUSD (Forex): Target Time 07:00 UTC — captures London open range.
Nifty / Index: Target Time 09:15 UTC — captures local session open range.
Crypto: Target Time 00:00 UTC — captures daily reset candle for breakout.
Risk disclaimer
This script is educational and provided as-is. Past performance is not indicative of future results. Use proper risk management, test on historical data, and consider slippage and commissions. Do not trade real capital without sufficient testing.
Change log
v1.0 — Initial release: range capture, box and level drawing, long/short entry by close breakout, SL at opposite boundary, TP via Risk:Reward, alerts, info table.
If you want, I can also:
Provide a short README version (2–3 lines) for the TradingView “Short description” field.
Add a couple of suggested alert templates for the TradingView alert dialog (if you want alerts that include variable placeholders).
Convert the disclaimer into multiple language versions.
Momentum Breakout Filter + ATR ZonesMomentum Breakout Filter + ATR Zones - User Guide
What This Indicator Does
This indicator helps you with your MACD + volume momentum strategy by:
Filtering out fake breakouts - Shows ⚠️ warnings when breakouts lack confirmation
Showing clear entry signals - 🚀 LONG and 🔻 SHORT labels when all conditions align
Automatic stop loss & profit targets - Based on ATR (Average True Range)
Visual trend confirmation - Background color + EMA alignment
Signal Types
🚀 LONG Entry Signal (Green Label)
Appears when ALL conditions met:
✅ MACD crosses above signal line
✅ Volume > 1.5× average
✅ Price > EMA 9 > EMA 21 > EMA 200 (bullish trend)
✅ Price closes above recent 20-bar high
🔻 SHORT Entry Signal (Red Label)
Appears when ALL conditions met:
✅ MACD crosses below signal line
✅ Volume > 1.5× average
✅ Price < EMA 9 < EMA 21 < EMA 200 (bearish trend)
✅ Price closes below recent 20-bar low
⚠️ FAKE Breakout Warning (Orange Label)
Appears when price breaks high/low BUT lacks confirmation:
❌ Low volume (below 1.5× average), OR
❌ Wick break only (didn't close through level), OR
❌ MACD not aligned with direction
Hover over the warning label to see what's missing!
ATR Stop Loss & Targets
When you get a signal, colored lines automatically appear:
Long Position
Red solid line = Stop Loss (Entry - 1.5×ATR)
Green dashed lines = Profit Targets:
Target 1: Entry + 2×ATR
Target 2: Entry + 3×ATR
Target 3: Entry + 4×ATR
Short Position
Red solid line = Stop Loss (Entry + 1.5×ATR)
Green dashed lines = Profit Targets:
Target 1: Entry - 2×ATR
Target 2: Entry - 3×ATR
Target 3: Entry - 4×ATR
The lines move with each bar until you exit the position.
Chart Elements
Moving Averages
Blue line = EMA 9 (fast)
Orange line = EMA 21 (medium)
White line = EMA 200 (trend filter)
Volume
Yellow bars = High volume (above threshold)
Gray bars = Normal volume
Background Color
Light green = Bullish trend (all EMAs aligned up)
Light red = Bearish trend (all EMAs aligned down)
No color = Neutral/mixed
MACD (Bottom Pane)
Green/Red columns = MACD Histogram
Blue line = MACD Line
Orange line = Signal Line
Info Dashboard (Bottom Right)
ItemWhat It ShowsVolumeCurrent volume vs average (✓ HIGH or ✗ Low)MACDDirection (BULLISH or BEARISH)TrendEMA alignment (BULL, BEAR, or NEUTRAL)ATRCurrent ATR value in dollarsPositionCurrent position (LONG, SHORT, or NONE)R:RRisk-to-Reward ratio (shows when in position)
How To Use It
Basic Workflow
Wait for setup
Watch for MACD to approach signal line
Volume should be building
Price should be near EMA structure
Get confirmation
Wait for 🚀 LONG or 🔻 SHORT label
Check dashboard shows "✓ HIGH" volume
Verify trend is aligned (green or red background)
Enter the trade
Enter when signal appears
Note your stop loss (red line)
Note your targets (green dashed lines)
Manage the trade
Exit at first target for partial profit
Move stop to breakeven
Trail remaining position
What To Avoid
❌ Don't trade when you see:
⚠️ FAKE labels (wait for confirmation)
Neutral background (no clear trend)
"✗ Low" volume in dashboard
MACD and Trend not aligned
Settings You Can Adjust
Volume Sensitivity
High Volume Threshold: Default 1.5×
Increase to 2.0× for cleaner signals (fewer trades)
Decrease to 1.2× for more signals (more trades)
Fake Breakout Filters
You can toggle these ON/OFF:
Volume Confirmation: Requires high volume
Close Through: Requires candle close, not just wick
MACD Alignment: Requires MACD direction match
Tip: Turn all three ON for highest quality signals
ATR Stop/Target Multipliers
Default settings (conservative):
Stop Loss: 1.5×ATR
Target 1: 2×ATR (1.33:1 R:R)
Target 2: 3×ATR (2:1 R:R)
Target 3: 4×ATR (2.67:1 R:R)
Aggressive traders might use:
Stop Loss: 1.0×ATR
Target 1: 2×ATR (2:1 R:R)
Target 2: 4×ATR (4:1 R:R)
Conservative traders might use:
Stop Loss: 2.0×ATR
Target 1: 3×ATR (1.5:1 R:R)
Target 2: 5×ATR (2.5:1 R:R)
Example Trade Scenarios
Scenario 1: Perfect Long Setup ✅
Stock consolidating near EMA 21
MACD curling up toward signal line
Volume bar turns yellow (high volume)
🚀 LONG label appears
Red stop line and green target lines appear
Result: High probability trade
Scenario 2: Fake Breakout Avoided ✅
Price breaks above resistance
Volume is normal (gray bar)
⚠️ FAKE label appears (hover shows "Low volume")
No entry signal
Price falls back below breakout level
Result: Avoided losing trade
Scenario 3: Premature Entry ❌
MACD crosses up
Volume is high
BUT trend is NEUTRAL (no background color)
No signal appears (trend filter blocks it)
Result: Avoided choppy/sideways market
Quick Reference
Entry Checklist
🚀 or 🔻 label on chart
Dashboard shows "✓ HIGH" volume
Dashboard shows aligned MACD + Trend
Colored background (green or red)
ATR lines visible
No ⚠️ FAKE warning
Exit Strategy
Target 1 (2×ATR): Take 50% profit, move stop to breakeven
Target 2 (3×ATR): Take 25% profit, trail stop
Target 3 (4×ATR): Take remaining profit or trail aggressively
Stop Loss: Exit entire position if hit
Alerts
Set up these alerts:
Long Entry: Fires when 🚀 LONG signal appears
Short Entry: Fires when 🔻 SHORT signal appears
Fake Breakout Warning: Fires when ⚠️ appears (optional)
Tips for Success
Use on 5-minute charts for day trading momentum plays
Only trade high volume stocks ($5-20 range works best)
Wait for full confirmation - don't jump early
Respect the stop loss - it's calculated based on volatility
Scale out at targets - don't hold for home runs
Avoid trading first 15 minutes - let market settle
Best during 10am-11am and 2pm-3pm - peak momentum times
Common Questions
Q: Why didn't I get a signal even though MACD crossed?
A: All conditions must be met - check dashboard for what's missing (likely volume or trend alignment)
Q: Can I use this on any timeframe?
A: Yes, but it's designed for 5-15 minute charts. On daily charts, adjust ATR multipliers higher.
Q: The stop loss seems too tight, can I widen it?
A: Yes, increase "Stop Loss (×ATR)" from 1.5 to 2.0 or 2.5 in settings.
Q: I keep seeing FAKE warnings but price keeps going - what gives?
A: The filter is conservative. You can disable some filters in settings, but expect more false signals.
Q: Can I use this for swing trading?
A: Yes, but use larger timeframes (1H or 4H) and adjust ATR multipliers up (3× for stops, 6-9× for targets).
Multi-Timeframe SFP (Swing Failure Pattern)How to Use
1. Set Pivot Timeframe: Choose the timeframe for identifying major swing points (e.g., 'D' for Daily pivots).
2. Set SFP Timeframe: Choose the timeframe to find the SFP candle (e.g., '240' for the 4-Hour chart).
3. Set Confirmation Bars: Set how many SFP Timeframe bars must pass without invalidating the level. A value of '0' confirms immediately on the SFP bar's close. A value of '1' waits for one more bar to close.
4. Adjust Filters (Optional): Enable the 'Wick % Filter' to add a quality check for strong rejections.
5. Watch & Wait: The indicator will draw lines and labels and fire alerts for fully confirmed signals.
In-Depth Explanation
1. Overview
The Dynamic Pivot SFP Engine is a multi-timeframe tool designed to identify and validate Swing Failure Patterns (SFPs) at significant price levels.
An SFP is a common price action pattern where price briefly trades beyond a previous swing high or low (sweeping liquidity) but then fails to hold those new prices, closing back inside the previous range. This "failure" often signals a reversal.
This indicator enhances SFP detection by separating the Pivot (Liquidity) from the SFP (Rejection), allowing you to monitor them on different timeframes.
2. The Core Multi-Timeframe Logic
The indicator's power comes from two key inputs:
• Pivot Timeframe (Pivot Timeframe)
This is the "high timeframe" used to establish significant support and resistance levels. The script finds standard pivots (swing highs and lows) on this timeframe based on the Pivot Left Strength and Pivot Right Strength inputs. These pivots are the "liquidity" levels the SFP will target. The Pivot Lookback input controls how long (in Pivot Timeframe bars) a pivot remains active and monitored.
• SFP Timeframe (SFP Timeframe)
This is the "execution timeframe" where the script looks for the actual SFP. On every new bar of this timeframe, the script checks if price has swept and rejected any of the active pivots.
Example Setup:
You might set Pivot Timeframe to 'D' (Daily) to find major daily swing points. You then set SFP Timeframe to '240' (4-Hour) to find a 4-hour candle that sweeps a daily pivot and closes back below/above it.
3. The SFP Confirmation Process
An SFP is not confirmed instantly. It must pass a rigorous, multi-step validation process.
Step 1: The SFP Candle (The Sweep)
A potential SFP is identified when an SFP Timeframe bar does the following:
• Bearish SFP: The bar's high trades above an active pivot high, but the bar closes below that same pivot high.
• Bullish SFP: The bar's low trades below an active pivot low, but the bar closes above that same pivot low.
Step 2: The Wick Filter (Optional Quality Check)
If Enable Wick % Filter is checked, the SFP candle from Step 1 is also measured.
• For a bearish SFP, the upper wick (from the high to the open/close) must be at least Min. Wick % of the entire candle's range (high-to-low).
• For a bullish SFP, the lower wick (from the low to the open/close) must meet the same percentage requirement.
If the SFP candle fails this test, it is discarded, even if it met the sweep/close criteria.
Step 3: The Validation Window (The Confirmation)
This is the most critical feature, controlled by Confirmation Bars.
• If Confirmation Bars = 0: The SFP is confirmed immediately on the SFP candle's close (assuming it passed the optional wick check). The label, line, and alert are triggered at this moment.
• If Confirmation Bars > 0: The SFP enters a "pending" state. The script will wait for $N$ more SFP Timeframe bars to close.
o Invalidation: If, during this waiting period, any bar closes back across the pivot (e.g., a close above the pivot for a bearish SFP), the SFP is considered failed and invalidated. All pending plots are deleted.
o Confirmation: If the $N$ confirmation bars all complete without invalidating the level, the SFP is finally confirmed. The label, line, and alert are only triggered after this entire process is complete. This adds a significant layer of robustness, ensuring the rejection holds for a period of time.
4. Visuals & Alerts
• Lines: A horizontal line is drawn from the original pivot to the SFP bar, showing which level was targeted. Note: These lines will only be drawn on chart timeframes equal to or lower than the 'SFP Timeframe'.
• Labels: A label is placed at the SFP's extreme (the high/low of the SFP bar). The label text conveniently includes the Ticker, Pivot TF, SFP TF, and Confirmation bar settings (e.g., "Bearish SFP BTCUSD / Pivot: 1D / SFP: 4H | Conf: 1").
• MTF Boxes (Show SFP Box, Show Conf. Boxes): These boxes highlight the SFP and confirmation bars. Crucially, they are only visible when your chart timeframe is lower than the SFP Timeframe. For example, if your SFP Timeframe is '240' (4H), you will only see these boxes on the 1H, 15M, 5M, etc., charts. This allows you to see the higher-timeframe SFP unfolding on your lower-timeframe chart.
• Alerts (Enable Alerts): An alert is fired only when an SFP is fully confirmed (i.e., after the Confirmation Bars have passed successfully). For efficient, real-time monitoring, it is highly recommended to run this indicator server-side by creating an alert on TradingView set to trigger on "Any alert() function call".
Experimental Supertrend [CHE]Experimental Supertrend — Combines EMA crossovers for trend regime detection with an adaptive ATR-based hull that selects the narrowest band to contain recent highs and lows, minimizing false breaks in varying volatility.
Summary
This indicator overlays a dynamic supertrend boundary around a midline derived from dual EMAs, using EMA crossovers to switch between bullish and bearish regimes. The hull adapts by evaluating multiple ATR periods and selecting the tightest one that fully encloses price action over a specified window, which helps in creating more stable trend lines that hug price without excessive gaps or breaches. Fills between the midline and hull provide visual cues for trend strength, darkening temporarily after regime changes to highlight transitions. Alerts trigger on crossovers, and markers label entry points, making it suitable for trend-following setups where standard supertrends might whipsaw. Overall, it offers robustness through auto-adjustment, reducing sensitivity to noise while maintaining responsiveness to genuine shifts.
Motivation: Why this design?
Standard supertrend indicators often flip prematurely in choppy markets due to fixed multipliers that do not account for localized volatility patterns, leading to frequent false signals and eroded confidence in trends. This design addresses that by incorporating an EMA-based regime filter for directional bias and an auto-adaptive hull that dynamically tunes the band width based on recent price containment needs. By prioritizing the narrowest effective enclosure, it avoids over-wide bands in calm periods that cause lag or under-wide ones in volatility spikes that invite breaks, providing a more consistent trailing reference without manual tweaking.
What’s different vs. standard approaches?
- Reference baseline: Diverges from the classic ATR-multiplier supertrend, which uses a single fixed period and constant factor applied to close or high/low deviations.
- Architecture differences:
- Auto-selection from candidate ATR lengths to find the optimal period for current conditions.
- Dynamic multiplier clamped between floor and cap values, adjusted by padding to ensure reliable containment.
- Regime-gated rendering, where hull position flips based on EMA relative positioning.
- Post-transition visual fading to emphasize change points without altering core logic.
- Practical effect: Charts show tighter, more reactive bands that rarely breach during trends, reducing visual clutter from flips; the adaptive nature means less intervention across assets, as the hull self-adjusts to volatility clusters rather than applying a one-size-fits-all scale.
How it works (technical)
The indicator first computes two EMAs from close prices using lengths derived from a preset pair or manual inputs, establishing a midline as their average. This midline serves as the central reference for the hull. True range values are then smoothed into multiple ATR candidates using exponential weighting over the specified lengths. For each candidate, deviations of recent highs and lows from the midline are ratioed against the ATR to determine a required multiplier that would enclose all extremes in the containment window—the highest ratio plus padding sets the base, clamped to user-defined bounds. Among valid candidates (those with sufficient history), the one yielding the narrowest overall band width is selected. The hull boundaries are then offset from the midline by this multiplier times the chosen ATR, and further smoothed with a fixed EMA to reduce jitter. Regime direction from EMA comparison gates which boundary acts as support or resistance, with initialization seeding arrays on the first bar to handle state persistence. No higher timeframe data is used, so all logic runs on the chart's native bars without lookahead.
Parameter Guide
EMA Pair — Selects preset lengths for fast and slow EMAs, influencing regime sensitivity and midline stability. Default: "21/55". Trade-offs/Tips: Faster pairs like "9/21" increase cross frequency for scalping but raise false signals; slower like "50/200" smooths for swings, potentially missing early turns. Use Manual for fine control.
Manual Fast — Sets fast EMA length when Manual mode is active; shorter values make regime switches quicker. Default: 21. Trade-offs/Tips: Lower than 10 risks over-reactivity; pair with slow at least double for clear separation.
Manual Slow — Sets slow EMA length when Manual mode is active; longer values anchor the midline more firmly. Default: 55. Trade-offs/Tips: Above 100 adds lag in trends; balance with fast to avoid perpetual neutrality.
ATR Lengths (comma-separated) — Defines candidate periods for ATR smoothing; more options allow finer auto-selection. Default: "7,10,14,21,28,35". Trade-offs/Tips: Fewer candidates speed computation but may miss optimal fits; keep under 10 for efficiency.
Containment Window — Number of recent bars the hull must fully enclose highs/lows of; larger windows favor stability. Default: 50. Trade-offs/Tips: Shorter (under 20) adapts faster to breaks but increases breach risk; longer smooths but delays response.
Min Multiplier Floor — Lowest allowed multiplier for hull width; prevents overly tight bands in low volatility. Default: 0.5. Trade-offs/Tips: Raise to 0.75 for conservative enclosures; too low allows pinches that flip easily.
Max Multiplier Cap — Highest allowed multiplier; caps expansion in spikes to avoid wide, lagging bands. Default: 1.0. Trade-offs/Tips: Lower to 0.75 tightens overall; higher permits more room but risks detachment from price.
Padding (+) — Adds buffer to the auto-multiplier for safer containment without exact touches. Default: 0.05. Trade-offs/Tips: Increase to 0.10 in gappy markets; minimal values hug closer but may still breach on outliers.
Fill Between (Mid ↔ Supertrend) — Toggles shaded area between midline and active hull for trend visualization. Default: true. Trade-offs/Tips: Disable for cleaner charts; pairs well with transparency tweaks.
Base Fill Transparency (0..100) — Sets default opacity of fills; higher values make them subtler. Default: 80. Trade-offs/Tips: Under 50 overwhelms price action; adjust with darken boost for emphasis.
Darken on Trend Change — Enables temporary opacity increase after regime shifts to spotlight transitions. Default: true. Trade-offs/Tips: Off for steady visuals; on aids spotting reversals in real-time.
Darken Fade Bars — Duration in bars for the darken effect to ramp back to base; longer prolongs highlight. Default: 8. Trade-offs/Tips: Shorter (4-6) for fast-paced charts; longer holds attention on changes.
Darken Boost at Change (Δ transp) — Intensity of opacity reduction at crossover; higher values make shifts more prominent. Default: 50. Trade-offs/Tips: Cap at 70 to avoid blackout; tune down if fades obscure details.
Show Supertrend Line — Displays the active hull boundary as a line. Default: true. Trade-offs/Tips: Hide for fill-only views; linewidth fixed at 3 for visibility.
Show EMA Cross Markers — Places circles and labels at crossover points for entry cues. Default: true. Trade-offs/Tips: Disable in clutter; labels show "Buy"/"Sell" at absolute positions.
Alert: EMA Cross Up (Long) — Triggers notification on bullish crossover. Default: true. Trade-offs/Tips: Pair with filters; once-per-bar frequency.
Alert: EMA Cross Down (Short) — Triggers notification on bearish crossover. Default: true. Trade-offs/Tips: Use for exits; ensure broker integration.
Show Debug — Reveals internal diagnostics like selected ATR details (if implemented). Default: false. Trade-offs/Tips: Enable for troubleshooting selections; minimal overhead.
Reading & Interpretation
Bullish regime shows a green line below price as support, with upward fill from midline; bearish uses red line above as resistance, downward fill. Crossovers flip the active boundary, marked by tiny green/red circles and "Buy"/"Sell" labels at the hull level. Fills start at base transparency but darken sharply at changes, fading over the specified bars to signal fresh momentum. If the hull rarely breaches during trends, containment is effective; frequent touches without flips indicate tight adaptation. Debug mode (when enabled) overlays text or plots for selected length and multiplier, helping verify auto-choices.
Practical Workflows & Combinations
- Trend following: Enter long on green "Buy" label above prior low structure; confirm with higher high. Trail stops along the green hull line, tightening as fills stabilize post-fade.
- Exits/Stops: Conservative exit on opposite crossover or hull breach; aggressive hold until fade completes if volume supports. Use darken boost as a volatility cue—high delta suggests waiting for confirmation.
- Multi-asset/Multi-TF: Defaults suit forex/stocks on 15m-4h; for crypto, widen containment to 75 for gaps. Layer on volume oscillator for cross filters; avoid on low-liquidity assets where ATR candidates skew.
Behavior, Constraints & Performance
Closed-bar logic ensures signals confirm at bar end, with live bars updating hull adaptively but no repaints since no future data or security calls are used. Arrays persist ATR states across bars, initialized once with candidates parsed from string. Small fixed loops (over 6 lengths max, inner up to 50) run per bar, capped by max_bars_back=500 for history needs. Resources stay low with 500 labels/lines limits, but dense charts may hit on markers. Known limits include initial lag until containment history builds (50+ bars), potential wide bands on gaps, and suboptimal selections if candidates omit ideal lengths.
Sensible Defaults & Quick Tuning
Start with "21/55" pair, 50-window, 0.5-1.0 multipliers, and 80% transparency for balanced responsiveness on daily charts. For too many flips, raise min floor to 0.75 or add lengths like "42"; for sluggishness, shorten window to 30 or pick faster pair. In high-vol environments, boost padding to 0.10; for smoother visuals, extend fade bars to 12.
What this indicator is—and isn’t
This is a visualization and signal layer for trend regime and adaptive boundaries, aiding entry/exit timing in directional markets. It is not a standalone system—pair with price structure, risk sizing, and broader context. Not predictive of turns, just reactive to containment and crosses.
Disclaimer
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.
Happy trading
Chervolino
USDJPY Fair Value Gap + Session Strategy🎯 Overview
This strategy combines Fair Value Gaps (FVGs) with session-based order flow analysis, specifically optimized for USDJPY. It identifies price inefficiencies left behind by institutional order flow during high-volatility trading sessions, offering a modern alternative to traditional lagging indicators.
🔬 What Are Fair Value Gaps?
Fair Value Gaps represent areas where aggressive institutional buying or selling created "gaps" in the market structure:
Bullish FVG: Price moves up so aggressively that it leaves unfilled buy orders behind
Bearish FVG: Price moves down so quickly that it leaves unfilled sell orders behind
Research shows approximately 80% of FVGs get "filled" (price returns to the gap) within 20-60 bars, making them highly predictable trading zones.
(see the generated image above)
(see the generated image above)
FVG Detection Logic:
text
// Bullish FVG: Gap between high and current low
bullishFVG = low > high and high > high
// Bearish FVG: Gap between low and current high
bearishFVG = high < low and low < low
🌏 Session-Based Trading
Why Sessions Matter for USDJPY
(see the generated image above)
Tokyo Session (00:00-09:00 UTC)
Highest volatility during first hour (00:00-01:00 UTC)
Average movement: 51-60 pips
Best for breakout strategies
London/NY Overlap (13:00-16:00 UTC)
Maximum liquidity and institutional participation
Tightest spreads and most reliable FVG formations
Optimal for continuation trades
Monday Premium Effect
USDJPY moves 120+ pips on Mondays due to weekend positioning
Enhanced FVG formation during session opens
📊 Strategy Components
(see the generated image above)
1. Fair Value Gap Detection
Identifies bullish and bearish FVGs automatically
Age limit: FVGs expire after 20 bars to avoid stale setups
Size filter: Minimum gap size to filter out noise
2. Session Filtering
Tokyo Open focus: Trades during first hour of Asian session
London/NY Overlap: Captures high-liquidity institutional flows
Weekend gap strategy: Enhanced signals on Monday opens
3. Volume Confirmation
Requires 1.5x average volume spike
Confirms institutional participation
Reduces false signals
4. Trend Alignment
50 EMA filter ensures trades align with higher timeframe trend
Long trades above EMA, short trades below
Prevents costly counter-trend trades
5. Risk Management
2:1 Risk/Reward minimum ensures profitability with 40%+ win rate
Percentage-based stops adapt to USDJPY volatility (0.3% default)
Configurable position sizing
🎯 Entry Conditions
(see the generated image above)
Long Entry (BUY)
✅ Bullish FVG detected in previous bars
✅ Price returns to FVG zone during active trading session
✅ Volume spike above 1.5x average
✅ Price above 50 EMA (trend confirmation)
✅ Bullish candle closes within FVG zone
✅ Trading during Tokyo open OR London/NY overlap
Short Entry (SELL)
✅ Bearish FVG detected in previous bars
✅ Price returns to FVG zone during active trading session
✅ Volume spike above 1.5x average
✅ Price below 50 EMA (trend confirmation)
✅ Bearish candle closes within FVG zone
✅ Trading during Tokyo open OR London/NY overlap
📈 Expected Performance
Backtesting Results (Based on Similar Strategies):
Win Rate: 44-59% (profitable due to high R:R ratio)
Average Winner: 60-90 pips during London/NY sessions
Average Loser: 30-40 pips (tight stops at FVG boundaries)
Risk/Reward: 2:1 minimum, often 3:1 during strong trends
Best Performance: Monday Tokyo opens and Wednesday London/NY overlaps
Why This Works for USDJPY:
90% correlation with US-Japan bond yield spreads
High volatility provides sufficient pip movement
Heavy institutional/central bank participation creates clear FVGs
Consistent volatility patterns across trading sessions
⚙️ Configurable Parameters
Session Settings:
Trade Tokyo Session (Enable/Disable)
Trade London/NY Overlap (Enable/Disable)
FVG Settings:
FVG Minimum Size (Filter small gaps)
Maximum FVG Age (20 bars default)
Show FVG Markers (Visual display)
Volume Settings:
Use Volume Filter (Enable/Disable)
Volume Multiplier (1.5x default)
Volume Average Period (20 bars)
Trend Settings:
Use Trend Filter (Enable/Disable)
Trend EMA Period (50 default)
Risk Management:
Risk/Reward Ratio (2.0 default)
Stop Loss Percentage (0.3% default)
🎨 Visual Indicators
🟡 Yellow Line: 50 EMA trend filter
🟢 Green Triangles: Long entry signals
🔴 Red Triangles: Short entry signals
🟢 Green Dots: Bullish FVG zones
🔴 Red Dots: Bearish FVG zones
🟦 Blue Background: Tokyo open session
🟧 Orange Background: London/NY overlap
📊 Recommended Settings
Optimal Timeframes:
Primary: 5-minute charts (scalping)
Secondary: 15-minute charts (swing trading)
Parameter Optimization:
Conservative: Stop Loss 0.2%, R:R 2:1, Volume 2.0x
Balanced: Stop Loss 0.3%, R:R 2:1, Volume 1.5x (default)
Aggressive: Stop Loss 0.4%, R:R 1.5:1, Volume 1.2x
Risk Management:
Maximum 1-2% of account per trade
Daily loss limit: Stop after 3-5 consecutive losses
Use fixed percentage position sizing
⚠️ Important Considerations
Avoid Trading During:
Major news events (BOJ interventions, NFP, FOMC)
Holiday periods with reduced liquidity
Low volatility Asian afternoon sessions
When US-Japan yield differential narrows sharply
Best Practices:
Limit to 2-3 trades per session maximum
Always respect the 50 EMA trend filter
Never risk more than planned per trade
Paper trade for 2-4 weeks before live implementation
Track performance by session and day of week
🚀 How to Use
Add the script to your USDJPY chart
Set timeframe to 5-minute or 15-minute
Adjust parameters based on your risk tolerance
Enable strategy alerts for automated notifications
Wait for visual signals (triangles) to appear
Enter trades according to your risk management rules
📚 Strategy Foundation
This strategy is based on:
Smart Money Concepts (SMC): Institutional order flow tracking
Market Microstructure: Understanding how FVGs form in electronic trading
Quantified Risk Management: Statistical edge through proper R:R ratios
Session Liquidity Patterns: Exploiting predictable volatility cycles






















